home *** CD-ROM | disk | FTP | other *** search
/ Garbo / Garbo.cdr / mac / hypercrd / hc1_2_x / smrtslds.sit / SmartSlides 1.1 / background_2612.txt < prev    next >
Text File  |  1990-06-12  |  123KB  |  4,968 lines

  1. -- background: 2612 from stack: in.1
  2. -- bmap block id: 3178
  3. -- flags: 4000
  4. -- background id: 0
  5. -- name: work
  6. ----- HyperTalk script -----
  7.  
  8. ------------------------Major Event Handlers----------------------------
  9.  
  10. on openCard
  11.   global Linking
  12.   if the number of buttons > 0 and not Linking
  13.   then
  14.   send mouseDown to button "opener"
  15.   send mouseUp to button "opener"
  16. end if
  17. end openCard
  18.  
  19. on closeCard
  20.   global Linking, Mode
  21.   if not Linking then put empty into Mode
  22.   set the textArrows to false
  23.   wait 60
  24. end closeCard
  25.  
  26. on openBackground
  27.   global WorkMenu, FieldMenu, XtraMenu, ButnMenu, DrawMenu, FieldsLocked
  28.  
  29.   if FieldsLocked then
  30.     put "Unlock All┬á" into locker
  31.   else put "Lock All┬á" into locker
  32.  
  33.   if the icon of background button id 26 is 0 then
  34.     put "Show Tools┬á" into shower
  35.   else
  36.     put "Hide Tools┬á" into shower
  37.   end if
  38.  
  39.   if the visible of field "CardNumber" is false then
  40.     put "Show Slide Numbers┬á" into ShowNo
  41.   else
  42.     put "Hide Slide Numbers┬á" into ShowNo
  43.   end if
  44.  
  45.   put NewMenu("Work","About SmartSlides┬á","(-",shower,"New LectureΓǪ", "Make Next Slide┬á","Set EffectsΓǪ","Reset Slide┬á","Reset All Slides┬á", ShowNo,"Sort Slides┬á","Prepare To Print┬á","(-","AutoReset┬á") into WorkMenu
  46.  
  47.   if "true" is in the name of field id 306
  48.   then
  49.   CheckMenu WorkMenu,13,true
  50. end if
  51.  
  52. put NewMenu("Field","Title┬á","Body┬á","FullSlide┬á","BigType┬á", "PopUp┬á","ShimmerField┬á","Bulger┬á","Rectangle┬á","Scrolling┬á", "TypeWriterΓǪ","AutoScrollΓǪ","ColumnsΓǪ","(-",locker) into FieldMenu
  53.  
  54. put NewMenu("Xtra","Chicago 12ΓǪ","Geneva 12ΓǪ","SmartTimes 18ΓǪ", "SmartTimes 24ΓǪ","SmartBig     36ΓǪ","SmartBasel 48ΓǪ","Other FontΓǪ", "(-","Squeeze Lines┬á","Change StyleΓǪ","Set Scroll RateΓǪ", "(-","LeftAlignΓǪ","CenterΓǪ","RightAlignΓǪ") into XtraMenu
  55.  
  56. put NewMenu("Butn","Begin ChainΓǪ","(-","Hiliter┬á","Tile HiliterΓǪ", "Flasher┬á","Inverter┬á","GreyOut┬á","Shutter┬á","Mask┬á","ShrinkerΓǪ", "Stepper┬á","Vanilla┬á","CheckBox┬á","Arrow┬á","Hand┬á") into ButnMenu
  57.  
  58. put NewMenu("Draw","Straight LineΓǪ","Wavy LineΓǪ","Dotted LineΓǪ", "Straight ArrowΓǪ","Wavy ArrowΓǪ","Dotted ArrowΓǪ", "Border FieldΓǪ","Shadow FieldΓǪ","Connect FieldsΓǪ","GraphΓǪ","(-", "Erase Recent┬á","Erase All Graphics┬á","Protect Visible┬á") into DrawMenu
  59.  
  60. end openBackground
  61.  
  62. on closeBackground
  63.   global WorkMenu, FieldMenu, XtraMenu, ButnMenu, DrawMenu
  64.   put DeleteMenu(WorkMenu) into WorkMenu
  65.   put DeleteMenu(FieldMenu) into FieldMenu
  66.   put DeleteMenu(XtraMenu) into XtraMenu
  67.   put DeleteMenu(ButnMenu) into ButnMenu
  68.   put DeleteMenu(DrawMenu) into DrawMenu
  69. end closeBackground
  70.  
  71. on idle
  72.   global WorkMenu, FieldMenu, XtraMenu, ButnMenu, DrawMenu, lastTick
  73.   if (the ticks-lastTick)>120 then
  74.     put the ticks into lastTick
  75.     ShowMenu WorkMenu
  76.     ShowMenu FieldMenu
  77.     ShowMenu XtraMenu
  78.     ShowMenu ButnMenu
  79.     ShowMenu DrawMenu
  80.   end if
  81.   pass idle
  82. end idle
  83.  
  84. on doMenu Command
  85.   global WorkMenu, FieldMenu, XtraMenu, ButnMenu, DrawMenu
  86.   --dividing commands into two types avoids nesting blocks too deeply.
  87.   --commands whose names involve "ΓǪ" are sent to one handler
  88.   --newly defined commands with non-breaking spaces are sent to another
  89.   --if the optionKey is down then Help Command --handles requests for Help
  90.   --else
  91.   if "ΓǪ" is in Command then FollowUp Command     --for extended commands
  92.   else if "┬á" is in Command then Execute Command --for simple commands
  93.   else pass domenu
  94. end domenu
  95.  
  96. on FollowUp Command
  97.   --handles menu items involving "ΓǪ"
  98.   if the optionkey is down then GiveHelp Command
  99.   else if Command is "New LectureΓǪ" then newLecture           --work
  100.   else if Command is "Set EffectsΓǪ" then SetEffects           --menu
  101.   else if Command is "TypeWriterΓǪ" then MakeTypeWriterField   --field
  102.   else if Command is "AutoScrollΓǪ" then MakeAutoscroll        --menu
  103.   else if Command is "ColumnsΓǪ" then MakeColumns
  104.   else if Command is "Chicago 12ΓǪ" then SetMode "Chicago 12"  --xtra
  105.   else if Command is "Geneva 12ΓǪ" then SetMode "Geneva 12"    --menu
  106.   else if Command is "SmartTimes 18ΓǪ" then SetMode "SmartTimes 18"
  107.   else if Command is "SmartTimes 24ΓǪ" then SetMode "SmartTimes 24"
  108.   else if Command is "SmartBig     36ΓǪ" then SetMode "SmartBig 36"
  109.   else if Command is "SmartBasel 48ΓǪ" then SetMode "SmartBasel 48"
  110.   else if Command is "Other FontΓǪ" then SetMode "Font"
  111.   else if Command is "Change StyleΓǪ" then SetMode "Style"
  112.   else if Command is "Set Scroll RateΓǪ" then SetMode "SetRate"
  113.   else if Command is "LeftAlignΓǪ" then SetMode "left"
  114.   else if Command is "CenterΓǪ" then SetMode "center"
  115.   else if Command is "RightAlignΓǪ" then SetMode "right"
  116.   else if Command is "Begin ChainΓǪ" then BeginChain "withMessage" --butn
  117.   else if Command is "Tile HiliterΓǪ" then SetMode "Tile"          --menu
  118.   else if Command is "ShrinkerΓǪ" then SetMode "ShrinkWrap"
  119.   else if "line" is in Command then MakeLine Command              --draw
  120.   else if "arrow" is in Command then MakeArrow Command            --menu
  121.   else if Command is "Border FieldΓǪ" then SetMode "BorderField"
  122.   else if Command is "Shadow FieldΓǪ" then SetMode "ShadowField"
  123.   else if Command is "Connect FieldsΓǪ" then SetMode "Connect1",2
  124.   else if Command is "GraphΓǪ" then send MakeGraph to field "Scripts"
  125. end FollowUp
  126.  
  127. on Execute Command
  128.   --handles menu items without "ΓǪ" but with non-breaking space
  129.   if the optionkey is down then GiveHelp Command
  130.   else if Command is "Show Tools┬á" then ShowTools          --work
  131.   else if Command is "Hide Tools┬á" then HideTools          --menu
  132.   else if Command is "Make Next Slide┬á" then MakeCard
  133.   else if Command is "Reset Slide┬á" then Reset
  134.   else if Command is "Reset All Slides┬á" then ResetAll
  135.   else if Command is "Show Slide Numbers┬á" then ShowNumber
  136.   else if Command is "Hide Slide Numbers┬á" then HideNumber
  137.   else if Command is "Sort Slides┬á" then SortAll
  138.   else if Command is "Prepare To Print┬á" then PrepForPrinting
  139.   else if Command is "About SmartSlides┬á" then ShowCredits
  140.   else if Command is "AutoReset┬á" then ChangeAutoReset
  141.   else if Command is "Title┬á" then MakeTitleField           --field
  142.   else if Command is "Body┬á" then CreateField 8             --menu
  143.   else if Command is "FullSlide┬á" then CreateField 5
  144.   else if Command is "BigType┬á" then CreateField 76
  145.   else if Command is "PopUp┬á" then MakePopUp
  146.   else if Command is "ShimmerField┬á" then CreateField 205
  147.   else if Command is "Bulger┬á" then CreateField 244
  148.   else if Command is "Rectangle┬á" then CreateField 137
  149.   else if Command is "Scrolling┬á" then CreateField 141
  150.   else if Command is "Lock All┬á" then LockFields
  151.   else if Command is "Unlock All┬á" then UnlockFields
  152.   else if Command is "Squeeze Lines┬á" then SetSqueeze       --xtra menu
  153.   else if Command is "End Chain┬á" then EndChain             --butn
  154.   else if Command is "Hiliter┬á" then CreateButton 9         --menu
  155.   else if Command is "Flasher┬á" then CreateButton 82
  156.   else if Command is "Inverter┬á" then CreateButton 292
  157.   else if Command is "GreyOut┬á" then CreateButton 139
  158.   else if Command is "Shutter┬á" then CreateButton 83
  159.   else if Command is "Mask┬á" then CreateButton 79
  160.   else if Command is "Stepper┬á" then CreateButton 140
  161.   else if Command is "Vanilla┬á" then CreateButton 296
  162.   else if Command is "CheckBox┬á" then CreateButton 110
  163.   else if Command is "Arrow┬á" then CreateButton 115
  164.   else if Command is "Hand┬á" then CreateButton 116
  165.   else if Command is "Erase Recent┬á" then UndoDrawing       --draw
  166.   else if Command is "Erase All Graphics┬á" then EraseCard   --menu
  167.   else if Command is "Protect Visible┬á" then NoScripts
  168. end Execute
  169.  
  170. ------------------------Handlers for Menu Items-------------------------
  171. ---(Handlers for menu items in Work Menu are all in the stack script.)--
  172.  
  173. on MakeTitleField
  174.   global Speed, Specs, ObjectID
  175.   put 1000 into Speed
  176.   put "0,0,14,45,488,45" into Specs
  177.   send drawline to field "Scripts"
  178.   put 100 into Speed
  179.   CreateField 3
  180.   lock screen
  181.   set the lockMessages to true
  182.   push card
  183.   go next
  184.   pop card
  185.   set the lockMessages to false
  186.   unlock screen
  187.   select text of card field id ObjectID
  188. end MakeTitleField
  189.  
  190. --(CreateField handler is in stack script.)
  191.  
  192. on MakePopUp
  193.   global ObjectID
  194.   createbutton 123
  195.   put ObjectID into NewID
  196.   CreateField 122
  197.   put ObjectID into NewFieldID
  198.   choose browse tool
  199.   put NewFieldID into line NewID of field "PopUps"
  200.   set the name of card field id NewFieldId to "PopUp " & NewID
  201.   choose field tool
  202.   select card field id NewFieldID
  203. end MakePopUp
  204.  
  205. --(MakeTypeWriterField handler is in stack script.)
  206.  
  207. --(MakeAutoscroll handler is in stack script.)
  208.  
  209. on MakeColumns
  210.   global ObjectID, AreaOkayID
  211.   lock screen
  212.   requestPatience
  213.   CreateButton 282
  214.   put ObjectID into AreaOkayID
  215.   Createfield 4
  216.   put "Adjust this to the size and location of the area " & "in which you wish the columns to appear." & return & return & "Then restore browse tool" & return & "and click " & quote & "Area Okay" & quote into card field id ObjectID
  217.   unlock screen
  218.   put empty into msg
  219.   hide msg
  220.   select card field id ObjectID
  221. end MakeColumns
  222.  
  223. on FinishColumns
  224.   global FieldsLocked, AreaOkayID
  225.   hide button id AreaOkayID
  226.   set the name of button id AreaOkayID to "Hidden"--faster than deleting
  227.   ask "How Many Columns Do You Want?" with "2"
  228.   if it is empty or it is 0 then exit to HyperCard
  229.   do "put " & it & " into LastColumn"  --converts "one"ΓǪ"ten" to numbers
  230.   answer "What style would you like?" with "Transparent" or "Rectangle" or "Shadow"
  231.   put it into ColumnStyle
  232.   answer "How much space would you like between fields?" with "5 pixels" or "None" or "Overlap"
  233.   if it is "5 pixels" then put 5 into Buffer
  234.   if it is "None" then put 0 into Buffer
  235.   if it is "Overlap" then put -8 into Buffer
  236.   put the rect of card field "Column" into ColumnRect
  237.   put (item 3 of ColumnRect) - (item 1 of ColumnRect) into AreaWidth
  238.   subtract min(buffer,0) from AreaWidth
  239.   put (trunc(AreaWidth/LastColumn) - Buffer) into ColumnWidth
  240.   put (LastColumn*(ColumnWidth + Buffer)) - Buffer into WidthToUse
  241.   put round((AreaWidth-WidthToUse)/2) into Nudge
  242.   add Nudge to item 1 of ColumnRect
  243.   put (item 1 of ColumnRect) + ColumnWidth into item 3 of ColumnRect
  244.   answer "How should text be arranged in a column?" with "LeftJustify" or "Center" or "RightJustify"
  245.   put it into columnAlign
  246.   If "Left" is in columnAlign then put "left" into ColumnAlign
  247.   If "Right" is in columnAlign then put "right" into ColumnAlign
  248.   lock screen
  249.   put empty into card field "Column"
  250.   set the textalign of card field "Column" to ColumnAlign
  251.   set the style of card field "Column" to ColumnStyle
  252.   set the rect of card field "Column" to ColumnRect
  253.   set the locktext of card field "Column" to false
  254.   put false into FieldsLocked
  255.   set the icon of background button id 25 to "UnlockedFields"
  256.   ChangeMenu FieldMenu,14,"Lock All┬á"
  257.   put the id of card field "Column" into FirstColumn
  258.   set the name of card field id FirstColumn to "Column " & FirstColumn
  259.   --assures uniqueness of name used for columns in this set
  260.   select card field id FirstColumn
  261.   domenu "Copy Field"
  262.   unlock screen
  263.   put (FirstColumn - 1) + LastColumn into LastColumn
  264.   repeat with i = (FirstColumn + 1) to LastColumn
  265.     put Buffer + (item 3 of ColumnRect) into item 1 of ColumnRect
  266.     add (ColumnWidth + Buffer) to item 3 of ColumnRect
  267.     domenu "paste field"
  268.     set the rect of card field id i to ColumnRect
  269.   end repeat
  270.   select text of card field id FirstColumn
  271. end FinishColumns
  272.  
  273.  
  274. --(LockFields handler is in stack script.)
  275.  
  276. --(UnlockFields handler is in stack script.)
  277.  
  278. on SetMode this,clicks
  279.   global Mode
  280.   lockFields
  281.   put this into Mode
  282.   RequestClick clicks
  283. end SetMode
  284.  
  285. on SetSqueeze
  286.   global squeezer, XtraMenu
  287.   if Squeezer is true then
  288.     put false into Squeezer
  289.     CheckMenu XtraMenu,9,False
  290.   else
  291.     put true into Squeezer
  292.     CheckMenu XtraMenu,9,True
  293.   end if
  294. end SetSqueeze
  295.  
  296. --(CreateButton handler is in stack script.)
  297.  
  298. on BeginChain which
  299.   global Mode, ButnMenu
  300.   put "First" into Mode
  301.   showChainTools
  302.   if which is "withMessage" then
  303.     show msg at 15,320
  304.     put "Click buttons in chain, then use End Chain (on Buttons menu)."
  305.   end if
  306.   ChangeMenu ButnMenu,1,"End Chain┬á"
  307.   set the hilite of background button id 99 to true
  308.   lockFields
  309. end BeginChain
  310.  
  311. on EndChain
  312.   global Mode, ButnMenu, Linking
  313.   if the visible of background button id 99 is false
  314.   then
  315.   hideChainTools
  316. end if
  317. hide msg
  318. put empty into Mode
  319. put false into Linking
  320. set the hilite of background button id 99 to false
  321. ChangeMenu ButnMenu,1,"Begin ChainΓǪ"
  322. end EndChain
  323.  
  324. on MakeLine whichKind
  325.   global lineFlag, LineStyle, NextLine, Mode, ObjectID
  326.   put word 1 of whichKind into LineStyle
  327.   put 1 into lineFlag
  328.   put "Line" into Mode
  329.   lockFields
  330.   requestPatience
  331.   lock screen
  332.   createButton 124
  333.   choose browse tool
  334.   set the name of button ID ObjectID to "Draw┬á" & whichkind
  335.   put ObjectID into NextLine
  336.   unlock screen
  337.   beep
  338.   requestClick 2
  339. end MakeLine
  340.  
  341. on MakeArrow ArrowStyle
  342.   global lineFlag, LineStyle, NextLine, Mode, ObjectID
  343.   put word 1 of ArrowStyle into LineStyle
  344.   put 3 into lineFlag
  345.   put "Line" into Mode
  346.   requestPatience
  347.   lock screen
  348.   createButton 124
  349.   choose browse tool
  350.   set the name of button ID ObjectID to "Draw┬á" & ArrowStyle
  351.   put ObjectID into NextLine
  352.   lockFields
  353.   unlock screen
  354.   beep
  355.   requestClick 2
  356. end MakeArrow
  357.  
  358. on UndoDrawing
  359.   choose eraser tool
  360.   doMenu "Revert"
  361.   choose browse tool
  362. end UndoDrawing
  363.  
  364. on EraseCard
  365.   choose select tool
  366.   domenu "Select All"
  367.   domenu "Clear Picture"
  368.   choose browse tool
  369.   lock screen
  370.   set the lockmessages to true
  371.   go next
  372.   go previous
  373.   set the lockmessages to false
  374.   unlock screen
  375. end EraseCard
  376.  
  377. --(NoScripts handler is in stack script.)
  378.  
  379. ---------------------Main Handlers for MouseClicks----------------------
  380.  
  381. on mouseDown
  382.   global ThisObject, Mode, NextObject, ObjectName, Shift
  383.   put the shiftKey into Shift
  384.   put the ID of the target into ThisObject
  385.   put ThisObject into NextObject
  386.   put the short name of the target into ObjectName
  387.   if Mode is empty  then FollowChain
  388.   else if Mode is "Line" then send Draw to field "Scripts" --create line
  389.   else if Mode is "First" then ChainFirst    --put first Object in chain
  390.   else if Mode is "Next" then ChainNext      --put later object in chain
  391.   else Modify                                --alter field
  392. end MouseDown
  393.  
  394. on mouseUp
  395.   global NextObject, Chain, Mode, ObjectName
  396.   if Mode is not empty then exit to HyperCard
  397.   else
  398.     repeat with i = 1 to the number of words in Chain
  399.       put word i of Chain into NextObject
  400.       if "L" is in NextObject
  401.       then
  402.       delete first char of NextObject
  403.       visual effect iris close to black
  404.       visual effect iris open to card
  405.       go to card id nextobject
  406.       exit mouseUp
  407.     end if
  408.     put line NextObject of field "ObjectNames" into ObjectName
  409.     ClickUp                         --activate next object in chain
  410.   end repeat
  411. end if
  412. unlock screen
  413. end MouseUp
  414.  
  415. -----------------Supporting Handlers for MouseDown----------------------
  416.  
  417. on FollowChain
  418.   global ThisObject, NextObject, Step, Chain, ObjectName, Linking
  419.   if "card" is in ThisObject and not Linking then exit to HyperCard
  420.   if ObjectName is "Link" then exit to HyperCard
  421.   --else follow chain starting here
  422.   put item 1 of line ThisObject of field "Chains" into Step
  423.   put item (Step + 1) of line ThisObject of field "Chains" into Chain   --existing chain corresponding to current step
  424.   if Chain is empty then
  425.     put ThisObject into Chain
  426.     put ObjectName into line ThisObject of field "ObjectNames"
  427.   end if
  428.   repeat with i = 1 to the number of words in Chain
  429.     put word i of Chain into NextObject
  430.     if "L" is in NextObject then next repeat --link to card later
  431.     put line NextObject of field "ObjectNames" into ObjectName
  432.     ClickDown                       --activate next object in chain
  433.   end repeat
  434. end FollowChain
  435.  
  436. on ClickDown
  437.   global NextObject, ObjectName, NextLine, Mode
  438.   put NextObject into NextLine
  439.   if "Draw┬á" is in ObjectName then send GetLines to field "Scripts"
  440.   else if "Shrinker" is in ObjectName then Shrink NextObject
  441.   else if ObjectName is "Hiliter" or ObjectName is "Hand"
  442.   then set the hilite of button id NextObject to true
  443. else if ObjectName is "Inverter"
  444. then set the hilite of button id NextObject to false
  445. else if ObjectName is "GreyOut" then GreyOut NextObject
  446. else if ObjectName is "Mask" then hide button id NextObject
  447. else if ObjectName is "Flasher" then doFlashing NextObject
  448. else if ObjectName is "Shutter" then doShutter NextObject
  449. else if ObjectName is "PopItUp" then doPopUp NextObject
  450. else if "PopUp" is in ObjectName then hide card field id NextObject
  451. else if "DingBat" is in ObjectName then doDingBat NextObject
  452. else if ObjectName is "Delay" then wait 60
  453. else if ObjectName is "Beep" then beep
  454. else if ObjectName is "LockScreen" then ChangeScreenLock
  455. else if ObjectName is "Shimmer" then Shimmer NextObject
  456. else if ObjectName is "Bulger" then Bulge NextObject
  457. else if ObjectName is "TypeWriter" then doTyping NextObject
  458. else if ObjectName is "Opener" then exit ClickDown
  459. else if "AutoScroller" is in ObjectName
  460. then send autoscroll to card field id NextObject
  461. else if "Step" is in ObjectName then checkShift
  462. else if ObjectName is "Graph" then send drawgraph to field "Scripts"
  463. else if ObjectName is "Vanilla" then exit ClickDown
  464. else SelectLine
  465. end ClickDown
  466.  
  467. --(Shrink handler is in stack script.)
  468.  
  469. on GreyOut given
  470.   choose rectangle tool
  471.   set the filled to true
  472.   set the pattern to 13
  473.   put topleft of button id given into corner1
  474.   put bottomright of  button id given into corner2
  475.   add 1 to item 1 of corner1
  476.   add 1 to item 2 of corner1
  477.   subtract 1 from item 1 of corner2
  478.   subtract 1 from item 2 of corner2
  479.   drag from corner1 to corner2 with optionkey
  480.   set the filled to false
  481.   choose browse tool
  482. end GreyOut
  483.  
  484. on ClearFromGrey
  485.   global NextObject
  486.   choose select tool
  487.   put topleft of button id NextObject into corner1
  488.   put bottomright of  button id NextObject into corner2
  489.   drag from corner1 to corner2
  490.   doMenu "Clear Picture"
  491.   choose browse tool
  492. end ClearFromGrey
  493.  
  494. on doFlashing given
  495.   global FlashNumber, ShortDelay, LongDelay
  496.   repeat with i = 1 to FlashNumber
  497.     wait ShortDelay
  498.     set the hilite of button id given to not the hilite of button id given
  499.     wait LongDelay
  500.     set the hilite of button id given to not the hilite of button id given
  501.   end repeat
  502. end doFlashing
  503.  
  504. on doShutter given
  505.   if the style of button id given is "opaque"
  506.   then
  507.   set the style of button id given to "transparent"
  508. else
  509.   set the style of button id given to "opaque"
  510. end if
  511. end doShutter
  512.  
  513. on doPopUp given
  514.   put item 1 of line given of field "PopUps" into FieldToPop
  515.   show card field id FieldToPop
  516. end doPopUp
  517.  
  518. on doDingBat given
  519.   global ObjectName
  520.   if "CheckBox" is in ObjectName then doCheckBox given
  521.   else if "Arrow" is in ObjectName then doArrowIcon given
  522. end doDingBat
  523.  
  524. on doCheckBox given
  525.   if the icon of button id given is 10454 then set the icon of button id given to 23664
  526.   else set the icon of button id given to 10454
  527. end doCheckBox
  528.  
  529. on doArrowIcon given
  530.   if the icon of button id given is 2415 then set the icon of button id given to 2148
  531.   else set the icon of button id given to 2415
  532. end doArrowIcon
  533.  
  534. on ChangeScreenLock
  535.   set the lockscreen to not the lockscreen
  536. end ChangeScreenLock
  537.  
  538. on Shimmer given
  539.   repeat with i = 1 to 6
  540.     set the style of card field id given to opaque
  541.     set the style of card field id given to shadow
  542.   end repeat
  543. end Shimmer
  544.  
  545. on Bulge given
  546.   repeat with i = 1 to 5
  547.     set the textsize of card field ID given to 18
  548.     wait 3
  549.     set the textsize of card field ID given to 24
  550.     wait 20
  551.     set the textsize of card field ID given to 12
  552.     wait 10
  553.   end repeat
  554. end Bulge
  555.  
  556. --(DoTyping handler is in stack script.)
  557.  
  558. on checkShift
  559.   global NextObject, Shift
  560.   if Shift is down then
  561.     put the number of Button ID NextObject into wanted
  562.     RestoreStep wanted
  563.     exit to HyperCard
  564.   end if
  565. end checkShift
  566.  
  567. on SelectLine
  568.   global ThisObject
  569.   if word 1 of the long name of the target is not "card"
  570.   then exit to HyperCard
  571.   if word 2 of the long name of the target is not "field"
  572.   then exit to HyperCard
  573.   if the style of card field id ThisObject is "scrolling"
  574.   then
  575.   put clickline() into ThisLine
  576.   if line thisLine of card field id ThisObject is empty
  577.   then
  578.   select empty
  579. else
  580.   select line ThisLine of card field id ThisObject
  581. end if                                   --may scroll field a bit!
  582. exit to HyperCard
  583. end if
  584. end SelectLine
  585.  
  586. on ChainFirst
  587.   global ThisObject, Mode, Step, MainObject, ObjectName, NextObject
  588.   if ObjectName is "Link"
  589.   then
  590.   endChain
  591.   answer "Can't begin chain with link to another card."
  592.   exit to HyperCard
  593. end if
  594. put word 2 of the long name of the target into ObjectType
  595. put ObjectName into line ThisObject of field "ObjectNames"
  596. if ObjectType is "button" then QuickHilite ThisObject
  597. put item 1 of line ThisObject of field "Chains" into Step
  598. if Step is empty then
  599.   put 1 into Step
  600.   put 1 into line ThisObject of field "Chains"
  601. end if
  602. put ThisObject into MainObject
  603. put MainObject into item (Step + 1) of line MainObject of field "Chains"  --assures an item
  604. if "Shrinker" is in ObjectName then Shrink ThisObject
  605. if ObjectName is "PopItUp" then DoPopUp ThisObject
  606. if "PopUp" is in ObjectName then hide card field id ThisObject
  607. if ObjectName is "Mask" then hide button id ThisObject
  608. if "DingBat" is in ObjectName then doDingBat ThisObject
  609. put ThisObject into NextObject
  610. if "Step" is in ObjectName
  611. then
  612. changeStep
  613. put Step - 1 into Step
  614. end if
  615. put "Next" into Mode
  616. end ChainFirst
  617.  
  618. on QuickHilite this
  619.   set the hilite of button id This to not the hilite of button id This
  620.   set the hilite of button id This to not the hilite of button id This
  621. end QuickHilite
  622.  
  623. on changeStep
  624.   global NextObject, ObjectName, Mode, Step
  625.   add 1 to Step
  626.   put Step into item 1 of line NextObject of field "Chains"
  627.   put item (Step + 1) of line NextObject of field "Chains" into NChain
  628.   if Mode is empty or mode is "First" then
  629.     if NChain is empty or NChain is NextObject
  630.     then
  631.     set the name of button ID NextObject to "Step (" & Step & ")"
  632.   else
  633.     set the name of button ID NextObject to "Step " & Step
  634.   end if
  635. end if
  636. end changeStep
  637.  
  638. on ChainNext
  639.   global ThisObject, Step, MainObject, ObjectName, Linking, Mode
  640.   put word 2 of the long name of the target into ObjectType
  641.   if ObjectName is not "link" and not linking then put ObjectName into line ThisObject of field "ObjectNames"
  642.   if Linking
  643.   then
  644.   put "L" & word 3 of the id of this card into ThisObject
  645.   pop card
  646.   put empty into msg
  647.   put empty into ObjectType
  648.   put empty into ObjectName
  649.   hide msg
  650.   endChain
  651.   showTools
  652. end if
  653. If ObjectName is "Link" and not Linking
  654. then
  655. GetLink
  656. exit to HyperCard
  657. else
  658.   if ObjectType is "button" then QuickHilite ThisObject
  659. end if
  660. put " " & ThisObject after item (Step + 1) of line MainObject of field "Chains"
  661. if ObjectName is "PopItUp" then DoPopUp ThisObject
  662. if "PopUp" is in ObjectName then hide card field id ThisObject
  663. if "Shrinker" is in ObjectName then Shrink ThisObject
  664. if ObjectName is "Mask" then hide button id ThisObject
  665. if "DingBat" is in ObjectName then doDingBat ThisObject
  666. end ChainNext
  667.  
  668. on GetLink
  669.   global Linking, Origin
  670.   put true into Linking
  671.   put the id of this card into Origin
  672.   push card
  673.   hidetools
  674.   requestcard
  675. end GetLink
  676.  
  677. on Modify
  678.   global Mode, Frame, Rect1, Rect2, Chain
  679.   put empty into Chain
  680.   put the long name of the target into longname
  681.   if word 1 of longname is "card" and word 2 of longname is "id"
  682.   then exit Modify
  683.   put the rect of the target into Frame
  684.   lock screen
  685.   set the cursor to busy
  686.   If Mode is "Connect1" then put Frame into Rect1
  687.   else if Mode is "Connect2" then
  688.     put Frame into Rect2
  689.     send ConnectFields to field "Scripts"
  690.   else if Mode is "shrinkwrap" then ShrinkWrap
  691.   else if Mode is "tile" then tile
  692.   else if "toggle" is in Mode then toggle
  693.   else if Mode is "Chicago 12" then SetFont
  694.   else if Mode is "Geneva 12" then SetFont
  695.   else if Mode is "SmartTimes 18" then SetFont
  696.   else if Mode is "SmartTimes 24" then SetFont
  697.   else if Mode is "SmartBig 36" then SetFont
  698.   else if Mode is "SmartBasel 48" then SetFont
  699.   else if Mode is "Font" then ChooseFont
  700.   else if Mode is "Style" then ChooseStyle
  701.   else if Mode is "SetRate" then SetRate
  702.   else if Mode is "BorderField" then send BorderField to field "Scripts"
  703.   else if Mode is "ShadowField" then send ShadowField to field "Scripts"
  704.   else
  705.     align
  706.   end if
  707.  
  708.   hide msg
  709.   if Mode is "Connect1" then put "Connect2" into Mode
  710.   else
  711.     put empty into Mode
  712.     unlockFields
  713.   end if
  714.   choose browse tool
  715.   beep
  716. end Modify
  717.  
  718. ------------------Supporting Handlers for MouseUp-----------------------
  719.  
  720.  
  721. on ClickUp
  722.   global NextObject, ObjectName
  723.   if ObjectName is "Hiliter" or ObjectName is "Hand"
  724.   then set the hilite of button id NextObject to false
  725. else if ObjectName is "Inverter"
  726. then set the hilite of button id NextObject to true
  727. else if ObjectName is "GreyOut" then ClearFromGrey
  728. else if ObjectName is "LockScreen" then ChangeScreenLock
  729. else if "Step" is in ObjectName then ChangeStep
  730. end ClickUp
  731.  
  732. on GetLink
  733.   global Linking
  734.   put true into Linking
  735.   push card
  736.   hidetools
  737.   requestcard
  738. end GetLink
  739.  
  740. on ChooseFont
  741.   choose Field tool
  742.   select the target
  743.   domenu "Text Style..."
  744.   choose browse tool
  745. end ChooseFont
  746.  
  747. on ChooseStyle
  748.   choose Field tool
  749.   select the target
  750.   domenu "Field Info..."
  751.   choose browse tool
  752. end ChooseStyle
  753.  
  754. on align                       --sets textalign property of target field
  755.   global Mode
  756.   if mode is "left" or mode is "center" or mode is "right" then
  757.     set the textAlign of the target to Mode
  758.     unlockFields
  759.   end if
  760. end align
  761.  
  762. on ShrinkWrap
  763.   global ObjectNumber, ObjectID
  764.   put the id of the target into thisField
  765.   put the rect of card field id thisField into rectWanted
  766.   put the textHeight of card field id thisField into Increment
  767.   add 1 to item 2 of rectWanted           --fudging location of top edge
  768.   if increment > 20 then add 1 to item 2 of rectWanted    --more fudging
  769.   Choose button tool
  770.   set the cursor to busy
  771.   show background button "Shrinker"
  772.   select background button "Shrinker"
  773.   doMenu "Copy Button"
  774.   doMenu "Paste Button"
  775.   hide background button "Shrinker"
  776.   put the number of card buttons into ObjectNumber
  777.   put the ID of button ObjectNumber into ObjectID
  778.   set the cursor to busy
  779.   set the rect of button ObjectNumber to rectWanted
  780.   set the name of button ObjectNumber to "Shrinker " & Increment
  781.   set the cursor to busy
  782.   put rectWanted into line ObjectID of field "ButtonRects"
  783. end ShrinkWrap
  784.  
  785. on tile
  786.   global ObjectNumber
  787.   put the id of the target into thisField
  788.   put the rect of card field id thisField into rectWanted
  789.   add 2 to item 2 of rectWanted
  790.   put the textHeight of card field id thisField into Increment
  791.   set the cursor to busy
  792.   put item 4 of rectWanted into BottomEdge
  793.   put (item 2 of rectWanted) + increment into item 4 of rectWanted
  794.   Choose button tool
  795.   show background button "Hiliter"
  796.   select background button "Hiliter"
  797.   doMenu "Copy Button"
  798.   hide background button "Hiliter"
  799.   set the cursor to busy
  800.   put 1 into lineNumber
  801.   repeat while (item 2 of rectWanted) < BottomEdge
  802.     if line lineNumber of card field id thisField is not empty then
  803.       doMenu "Paste Button"
  804.       put the number of card buttons into ObjectNumber
  805.       set the rect of button ObjectNumber to rectWanted
  806.       beep
  807.     end if
  808.     add increment to item 2 of rectWanted
  809.     add increment to item 4 of rectWanted
  810.     add 1 to lineNumber
  811.     if (item 4 of rectWanted) > BottomEdge
  812.     then
  813.     put BottomEdge into item 4 of rectWanted
  814.   end if
  815.   set the cursor to busy
  816. end repeat
  817. lockFields
  818. end tile
  819.  
  820. on newbutton
  821.   --puts warning and uniform scripts in all new buttons,
  822.   --created using "New Button" in the Objects menu.
  823.  
  824.   if the short name of the target is "New Button"
  825.   then
  826.   set the script of the target to StockScript("button")
  827.   pass newButton
  828. end if
  829. end newbutton
  830.  
  831. on newField
  832.   --puts warning and uniform scripts in all new fields,
  833.   --created using "New Field" in the Objects menu.
  834.  
  835.   put the short name of the target into FldName
  836.   if "card field id" is in FldName or "bkgnd field id" is in FldName
  837.   then
  838.   set the script of the target to StockScript("field")
  839.   pass newField
  840. end if
  841. end newField
  842.  
  843. function StockScript object
  844. put "--To avoid interfering with the way SmartSlides " & "handles mouseclicks," & return into NewScript
  845. put "--be sure to keep both a mouseUp and a mouseDown handler" & return after NewScript
  846. put "--in the script of this " & object & "." after NewScript
  847. put return & return after NewScript
  848. put "on mouseDown" & return & "end mouseDown" &return after NewScript
  849. put return after NewScript
  850. put "on mouseUp" & return & "end mouseUp" & return after NewScript
  851. return NewScript
  852. end StockScript
  853.  
  854. on deleteButton
  855.   global Deleted
  856.   if word 1 of the long name of the target is not "card" then
  857.     choose browse tool
  858.     exit to HyperCard
  859.   end if
  860.   put the id of the target into Deleted
  861.   if "CursorCover" is in the short name of the target then --block deletion, so Typewriter field will still work properly
  862.     choose browse tool
  863.   end if
  864.   if "PopItUp" is in the short name of the target then
  865.     send mouseDown to the target
  866.     put "Deleting PopUp field will delete button too."
  867.     choose browse tool
  868.   end if
  869.   EditOut
  870. end deleteButton
  871.  
  872. on deleteField
  873.   global Deleted
  874.   if word 1 of the long name of the target is not "card"
  875.   then
  876.   choose browse tool
  877.   exit to HyperCard
  878. end if
  879. put the short name of the target into ObjectName
  880. put the id of the target into Deleted
  881. EditOut
  882. if ObjectName is "TypeWriter" then
  883.   put Deleted into SaveID
  884.   set the name of card field ID Deleted to "ClearThis"
  885.   set the name of card button ("CursorCover "& Deleted) to "ClearThis"
  886.   select card button "ClearThis"
  887.   domenu "Clear Button"
  888.   select card field "ClearThis"
  889.   domenu "Clear Field"
  890. else if "PopUp" is in ObjectName then
  891.   put Deleted into SaveID
  892.   set the name of card field ID Deleted to "ClearThis"
  893.   set the name of card button id (word 2 of ObjectName) to "ClearThis"
  894.   put empty into line (word 2 of ObjectName) of field "PopUps"
  895.   put true into FieldIsEmpty
  896.   repeat with i = 1 to the number of lines of field "PopUps"
  897.     if line i of field "PopUps" is not empty
  898.     then
  899.     put false into FieldIsEmpty
  900.     exit repeat
  901.   end if
  902. end repeat
  903. if FieldIsEmpty then put empty into field "PopUps"
  904. select card button id (word 2 of ObjectName)
  905. domenu "Clear Button"
  906. select card field id SaveId
  907. domenu "Clear Field"
  908. hide msg
  909. end if
  910. end deleteField
  911.  
  912. on deleteCard
  913.   if the number of the target is the number of cards of this background
  914.   then
  915.   send closeBackground to this background
  916. end if
  917. end deleteCard
  918.  
  919. on EditOut
  920.   global Deleted
  921.   put empty into line Deleted of field "Chains"
  922.   put empty into line Deleted of field "ObjectNames"
  923.   if Deleted is in field "Chains"
  924.   then
  925.   repeat with i = 1 to the number of lines of field "Chains"
  926.     if deleted is in line i of field "Chains" then
  927.       repeat with j = (the number of items of line i of field "Chains") down to 2
  928.         repeat with k = (the number of words of item j of line i of field "Chains") down to 2
  929.           if word k of item j of line i of field "Chains" is deleted
  930.           then put empty into word k of item j of line i of field "Chains"
  931.         end repeat
  932.       end repeat
  933.     end if
  934.   end repeat
  935. end if
  936. end EditOut
  937.  
  938.  
  939.  
  940. -- part 213 (button)
  941. -- low flags: 80
  942. -- high flags: 0002
  943. -- rect: left=8 top=0 right=298 bottom=487
  944. -- title width / last selected line: 0
  945. -- icon id / first selected line: 0 / 0
  946. -- text alignment: 1
  947. -- font id: 0
  948. -- text size: 12
  949. -- style flags: 0
  950. -- line height: 16
  951. -- part name: ╩BackDrop
  952. ----- HyperTalk script -----
  953. on mouseUp
  954. end mouseUp
  955.  
  956. on mouseDown
  957. end mouseDown
  958.  
  959.  
  960. -- part 1 (button)
  961. -- low flags: 00
  962. -- high flags: 0000
  963. -- rect: left=228 top=318 right=341 bottom=254
  964. -- title width / last selected line: 0
  965. -- icon id / first selected line: 1014 / 1014
  966. -- text alignment: 1
  967. -- font id: 0
  968. -- text size: 12
  969. -- style flags: 0
  970. -- line height: 16
  971. -- part name: Prev
  972. ----- HyperTalk script -----
  973. on mouseUp
  974.   if true is in the name of field id 306 then CleanUp
  975.   DoFX previous
  976. end mouseUp
  977.  
  978. on mouseDown
  979. end mouseDown
  980.  
  981.  
  982. -- part 2 (button)
  983. -- low flags: 00
  984. -- high flags: 0000
  985. -- rect: left=256 top=318 right=341 bottom=281
  986. -- title width / last selected line: 0
  987. -- icon id / first selected line: 1013 / 1013
  988. -- text alignment: 1
  989. -- font id: 0
  990. -- text size: 12
  991. -- style flags: 0
  992. -- line height: 16
  993. -- part name: Next
  994. ----- HyperTalk script -----
  995. on mouseUp
  996.   if true is in the name of field id 306 then CleanUp
  997.   DoFX "next"
  998. end mouseUp
  999.  
  1000. on mouseDown
  1001. end mouseDown
  1002.  
  1003.  
  1004.  
  1005. -- part 98 (button)
  1006. -- low flags: 00
  1007. -- high flags: 4002
  1008. -- rect: left=0 top=315 right=342 bottom=512
  1009. -- title width / last selected line: 0
  1010. -- icon id / first selected line: 0 / 0
  1011. -- text alignment: 1
  1012. -- font id: 0
  1013. -- text size: 12
  1014. -- style flags: 0
  1015. -- line height: 16
  1016. -- part name: BackDrop
  1017. ----- HyperTalk script -----
  1018. on mouseUp
  1019. end mouseUp
  1020.  
  1021. on mouseDown
  1022. end mouseDown
  1023.  
  1024.  
  1025.  
  1026. -- part 3 (field)
  1027. -- low flags: 80
  1028. -- high flags: 0000
  1029. -- rect: left=16 top=12 right=45 bottom=487
  1030. -- title width / last selected line: 0
  1031. -- icon id / first selected line: 0 / 0
  1032. -- text alignment: 1
  1033. -- font id: 91
  1034. -- text size: 24
  1035. -- style flags: 0
  1036. -- line height: 32
  1037. -- part name: Title
  1038.  
  1039.  
  1040. -- part 4 (field)
  1041. -- low flags: 80
  1042. -- high flags: 0002
  1043. -- rect: left=50 top=50 right=250 bottom=450
  1044. -- title width / last selected line: 0
  1045. -- icon id / first selected line: 0 / 0
  1046. -- text alignment: 1
  1047. -- font id: 91
  1048. -- text size: 18
  1049. -- style flags: 0
  1050. -- line height: 24
  1051. -- part name: Column
  1052.  
  1053.  
  1054. -- part 5 (field)
  1055. -- low flags: 80
  1056. -- high flags: 0000
  1057. -- rect: left=24 top=17 right=307 bottom=482
  1058. -- title width / last selected line: 0
  1059. -- icon id / first selected line: 0 / 0
  1060. -- text alignment: 0
  1061. -- font id: 91
  1062. -- text size: 24
  1063. -- style flags: 0
  1064. -- line height: 32
  1065. -- part name: FullCard
  1066.  
  1067.  
  1068. -- part 8 (field)
  1069. -- low flags: 80
  1070. -- high flags: 0000
  1071. -- rect: left=16 top=48 right=305 bottom=487
  1072. -- title width / last selected line: 0
  1073. -- icon id / first selected line: 0 / 0
  1074. -- text alignment: 0
  1075. -- font id: 91
  1076. -- text size: 24
  1077. -- style flags: 0
  1078. -- line height: 32
  1079. -- part name: body
  1080.  
  1081.  
  1082. -- part 26 (button)
  1083. -- low flags: 00
  1084. -- high flags: 0002
  1085. -- rect: left=11 top=320 right=338 bottom=35
  1086. -- title width / last selected line: 0
  1087. -- icon id / first selected line: 15566 / 15566
  1088. -- text alignment: 1
  1089. -- font id: 0
  1090. -- text size: 12
  1091. -- style flags: 0
  1092. -- line height: 16
  1093. -- part name: Hide
  1094. ----- HyperTalk script -----
  1095. on mouseUp
  1096.   if the optionkey is up then
  1097.     if (the icon of me is 15566) or (the icon of me is 24272)
  1098.     then
  1099.     HideTools
  1100.   else
  1101.     SetUp
  1102.   end if
  1103. else
  1104.   if (the icon of me is 15566) or (the icon of me is 24272)
  1105.   then
  1106.   GiveHelp "Hide Tools┬á"
  1107. else
  1108.   GiveHelp "Show Tools┬á"
  1109. end if
  1110. end if
  1111. end mouseUp
  1112.  
  1113. on SetUp
  1114.   global ToolView
  1115.   if the icon of me is 0 or ToolView is empty
  1116.   then
  1117.   if ToolView is not "ButtonTools" and the visible of background button id 16 is true then HideButtonTools
  1118.   if ToolView is not "DrawTools" and the visible of background button id 84 is true then HideDrawTools
  1119.   if ToolView is in "ButtonTools DrawTools" and the visible of background button id 10 is true then HideFieldTools
  1120.   showtools
  1121. end if
  1122. end SetUp
  1123.  
  1124. on mouseDown
  1125. end mouseDown
  1126.  
  1127.  
  1128. -- part 81 (button)
  1129. -- low flags: 00
  1130. -- high flags: 0000
  1131. -- rect: left=499 top=21 right=49 bottom=512
  1132. -- title width / last selected line: 0
  1133. -- icon id / first selected line: 23594 / 23594
  1134. -- text alignment: 1
  1135. -- font id: 0
  1136. -- text size: 12
  1137. -- style flags: 0
  1138. -- line height: 16
  1139. -- part name: Edit
  1140. ----- HyperTalk script -----
  1141. on mouseUp
  1142.   global Restore
  1143.   if the optionKey is up then
  1144.     if Restore is empty then
  1145.       set the cursor to busy
  1146.       repeat with i = 1 to the number of buttons
  1147.         if the visible of button i is true
  1148.         then
  1149.         put (the number of button i) & "," after restore
  1150.         set the visible of button i to false
  1151.         set the cursor to busy
  1152.       end if
  1153.     end repeat
  1154.     repeat with i = 1 to the number of card fields
  1155.       set the lockText of card field i to false
  1156.       set the cursor to busy
  1157.     end repeat
  1158.     set the textArrows to true
  1159.   else
  1160.     set the cursor to busy
  1161.     repeat with i = 1 to the number of card fields
  1162.       set the lockText of card field i to true
  1163.       set the cursor to busy
  1164.     end repeat
  1165.     repeat with i = 1 to the number of items in restore
  1166.       put item i of restore into needed
  1167.       set the visible of button needed to true
  1168.       set the cursor to busy
  1169.     end repeat
  1170.     put empty into Restore
  1171.     set the textArrows to false
  1172.   end if
  1173.   set the cursor to browse
  1174. else GiveHelp "EditΓǪ"
  1175. end mouseUp
  1176.  
  1177. on mouseDown
  1178. end mouseDown
  1179.  
  1180.  
  1181.  
  1182. -- part 9 (button)
  1183. -- low flags: 80
  1184. -- high flags: 0000
  1185. -- rect: left=386 top=202 right=234 bottom=486
  1186. -- title width / last selected line: 0
  1187. -- icon id / first selected line: 0 / 0
  1188. -- text alignment: 1
  1189. -- font id: 0
  1190. -- text size: 12
  1191. -- style flags: 0
  1192. -- line height: 16
  1193. -- part name: Hiliter
  1194.  
  1195.  
  1196. -- part 79 (button)
  1197. -- low flags: 80
  1198. -- high flags: 0001
  1199. -- rect: left=387 top=234 right=266 bottom=485
  1200. -- title width / last selected line: 0
  1201. -- icon id / first selected line: 0 / 0
  1202. -- text alignment: 1
  1203. -- font id: 0
  1204. -- text size: 12
  1205. -- style flags: 0
  1206. -- line height: 16
  1207. -- part name: Mask
  1208.  
  1209.  
  1210. -- part 82 (button)
  1211. -- low flags: 80
  1212. -- high flags: 0000
  1213. -- rect: left=388 top=202 right=234 bottom=484
  1214. -- title width / last selected line: 0
  1215. -- icon id / first selected line: 0 / 0
  1216. -- text alignment: 1
  1217. -- font id: 0
  1218. -- text size: 12
  1219. -- style flags: 0
  1220. -- line height: 16
  1221. -- part name: Flasher
  1222.  
  1223.  
  1224. -- part 83 (button)
  1225. -- low flags: 80
  1226. -- high flags: 0001
  1227. -- rect: left=382 top=170 right=202 bottom=483
  1228. -- title width / last selected line: 0
  1229. -- icon id / first selected line: 0 / 0
  1230. -- text alignment: 1
  1231. -- font id: 0
  1232. -- text size: 12
  1233. -- style flags: 0
  1234. -- line height: 16
  1235. -- part name: Shutter
  1236.  
  1237.  
  1238. -- part 10 (button)
  1239. -- low flags: 00
  1240. -- high flags: 2002
  1241. -- rect: left=211 top=320 right=338 bottom=233
  1242. -- title width / last selected line: 0
  1243. -- icon id / first selected line: 949 / 949
  1244. -- text alignment: 1
  1245. -- font id: 0
  1246. -- text size: 12
  1247. -- style flags: 0
  1248. -- line height: 16
  1249. -- part name: MakeTitleField
  1250. ----- HyperTalk script -----
  1251. on mouseUp
  1252.   if the optionKey is up then MakeTitleField
  1253.   else GiveHelp "Title┬á"
  1254. end mouseUp
  1255.  
  1256. on mouseDown
  1257. end mouseDown
  1258.  
  1259.  
  1260. -- part 11 (button)
  1261. -- low flags: 00
  1262. -- high flags: 2002
  1263. -- rect: left=463 top=320 right=338 bottom=485
  1264. -- title width / last selected line: 0
  1265. -- icon id / first selected line: 9839 / 9839
  1266. -- text alignment: 1
  1267. -- font id: 0
  1268. -- text size: 12
  1269. -- style flags: 0
  1270. -- line height: 16
  1271. -- part name: Columns
  1272. ----- HyperTalk script -----
  1273. on mouseUp
  1274.   if the optionKey is up then domenu "ColumnsΓǪ"
  1275.   else GiveHelp "ColumnsΓǪ"
  1276. end mouseUp
  1277.  
  1278. on mouseDown
  1279. end mouseDown
  1280.  
  1281.  
  1282. -- part 12 (button)
  1283. -- low flags: 00
  1284. -- high flags: 2002
  1285. -- rect: left=255 top=320 right=338 bottom=277
  1286. -- title width / last selected line: 0
  1287. -- icon id / first selected line: 13275 / 13275
  1288. -- text alignment: 1
  1289. -- font id: 0
  1290. -- text size: 12
  1291. -- style flags: 0
  1292. -- line height: 16
  1293. -- part name: FullCard
  1294. ----- HyperTalk script -----
  1295. on mouseUp
  1296.   if the optionKey is up then createField 5 --FullSlide
  1297.   else GiveHelp "FullSlide┬á"
  1298. end mouseUp
  1299.  
  1300. on mouseDown
  1301. end mouseDown
  1302.  
  1303.  
  1304. -- part 14 (button)
  1305. -- low flags: 00
  1306. -- high flags: 2002
  1307. -- rect: left=233 top=320 right=338 bottom=255
  1308. -- title width / last selected line: 0
  1309. -- icon id / first selected line: 19230 / 19230
  1310. -- text alignment: 1
  1311. -- font id: 0
  1312. -- text size: 12
  1313. -- style flags: 0
  1314. -- line height: 16
  1315. -- part name: Body
  1316. ----- HyperTalk script -----
  1317. on mouseUp
  1318.   if the optionKey is up then createField 8 --Body
  1319.   else GiveHelp "Body┬á"
  1320. end mouseUp
  1321.  
  1322. on mouseDown
  1323. end mouseDown
  1324.  
  1325.  
  1326. -- part 16 (button)
  1327. -- low flags: 80
  1328. -- high flags: 2002
  1329. -- rect: left=228 top=320 right=338 bottom=252
  1330. -- title width / last selected line: 0
  1331. -- icon id / first selected line: 18005 / 18005
  1332. -- text alignment: 1
  1333. -- font id: 0
  1334. -- text size: 12
  1335. -- style flags: 0
  1336. -- line height: 16
  1337. -- part name: HiliterMaker
  1338. ----- HyperTalk script -----
  1339. on mouseUp
  1340.   if the optionKey is up then CreateButton 9 --hiliter
  1341.   else GiveHelp "Hiliter┬á"
  1342. end mouseUp
  1343.  
  1344. on mousedown
  1345. end mousedown
  1346.  
  1347.  
  1348. -- part 20 (button)
  1349. -- low flags: 00
  1350. -- high flags: 2002
  1351. -- rect: left=61 top=320 right=338 bottom=85
  1352. -- title width / last selected line: 0
  1353. -- icon id / first selected line: 14176 / 14176
  1354. -- text alignment: 1
  1355. -- font id: 0
  1356. -- text size: 12
  1357. -- style flags: 0
  1358. -- line height: 16
  1359. -- part name: NewStack
  1360. ----- HyperTalk script -----
  1361. on mouseUp
  1362.   if the optionKey is up then newLecture
  1363.   else GiveHelp "New LectureΓǪ"
  1364. end mouseUp
  1365.  
  1366. on mouseDown
  1367. end mouseDown
  1368.  
  1369.  
  1370.  
  1371. -- part 21 (button)
  1372. -- low flags: 00
  1373. -- high flags: 2002
  1374. -- rect: left=85 top=320 right=338 bottom=109
  1375. -- title width / last selected line: 0
  1376. -- icon id / first selected line: 30845 / 30845
  1377. -- text alignment: 1
  1378. -- font id: 0
  1379. -- text size: 12
  1380. -- style flags: 0
  1381. -- line height: 16
  1382. -- part name: NewCard
  1383. ----- HyperTalk script -----
  1384. on mouseUp
  1385.   if the optionKey is up then MakeCard
  1386.   else GiveHelp "Make Next Slide┬á"
  1387. end mouseUp
  1388.  
  1389. on mouseDown
  1390. end mouseDown
  1391.  
  1392.  
  1393. -- part 22 (button)
  1394. -- low flags: 00
  1395. -- high flags: 2000
  1396. -- rect: left=499 top=289 right=308 bottom=512
  1397. -- title width / last selected line: 0
  1398. -- icon id / first selected line: 10210 / 10210
  1399. -- text alignment: 1
  1400. -- font id: 0
  1401. -- text size: 12
  1402. -- style flags: 0
  1403. -- line height: 16
  1404. -- part name: FieldTool
  1405. ----- HyperTalk script -----
  1406. on mouseUp
  1407.   if the optionKey is up then choose field tool
  1408.   else GiveHelp "Field Tool┬á"
  1409. end mouseUp
  1410.  
  1411. on mouseDown
  1412. end mouseDown
  1413.  
  1414.  
  1415. -- part 23 (button)
  1416. -- low flags: 00
  1417. -- high flags: 2000
  1418. -- rect: left=499 top=268 right=286 bottom=512
  1419. -- title width / last selected line: 0
  1420. -- icon id / first selected line: 9340 / 9340
  1421. -- text alignment: 1
  1422. -- font id: 0
  1423. -- text size: 12
  1424. -- style flags: 0
  1425. -- line height: 16
  1426. -- part name: ButtonTool
  1427. ----- HyperTalk script -----
  1428. on mouseUp
  1429.   if the optionKey is up then choose button tool
  1430.   else GiveHelp "Button Tool┬á"
  1431. end mouseUp
  1432.  
  1433. on mouseDown
  1434. end mouseDown
  1435.  
  1436.  
  1437. -- part 25 (button)
  1438. -- low flags: 00
  1439. -- high flags: 2000
  1440. -- rect: left=498 top=238 right=256 bottom=512
  1441. -- title width / last selected line: 0
  1442. -- icon id / first selected line: 28381 / 28381
  1443. -- text alignment: 1
  1444. -- font id: 0
  1445. -- text size: 12
  1446. -- style flags: 0
  1447. -- line height: 16
  1448. -- part name: UnlockFields
  1449. ----- HyperTalk script -----
  1450. on mouseUp
  1451.   global FieldsLocked
  1452.   if FieldsLocked
  1453.   then
  1454.   if the optionKey is up then unlockFields
  1455.   else GiveHelp "Unlock All┬á"
  1456. else
  1457.   if the optionKey is up then lockFields
  1458.   else GiveHelp "Lock All┬á"
  1459. end if
  1460. end mouseUp
  1461.  
  1462. on mouseDown
  1463. end mouseDown
  1464.  
  1465.  
  1466. -- part 27 (button)
  1467. -- low flags: 80
  1468. -- high flags: 2002
  1469. -- rect: left=211 top=320 right=338 bottom=233
  1470. -- title width / last selected line: 0
  1471. -- icon id / first selected line: 24368 / 24368
  1472. -- text alignment: 1
  1473. -- font id: 0
  1474. -- text size: 12
  1475. -- style flags: 0
  1476. -- line height: 16
  1477. -- part name: DrawLine
  1478. ----- HyperTalk script -----
  1479. on mouseUp
  1480.   if the optionKey is up then MakeLine "Straight"
  1481.   else GiveHelp "Straight LineΓǪ"
  1482. end mouseUp
  1483.  
  1484. on mouseDown
  1485. end mouseDown
  1486.  
  1487.  
  1488. -- part 28 (field)
  1489. -- low flags: 80
  1490. -- high flags: 0000
  1491. -- rect: left=0 top=22 right=167 bottom=67
  1492. -- title width / last selected line: 0
  1493. -- icon id / first selected line: 0 / 0
  1494. -- text alignment: 0
  1495. -- font id: 3
  1496. -- text size: 12
  1497. -- style flags: 0
  1498. -- line height: 16
  1499. -- part name: linespecs
  1500.  
  1501.  
  1502. -- part 33 (field)
  1503. -- low flags: 80
  1504. -- high flags: 0000
  1505. -- rect: left=0 top=0 right=12 bottom=156
  1506. -- title width / last selected line: 0
  1507. -- icon id / first selected line: 0 / 0
  1508. -- text alignment: 0
  1509. -- font id: 3
  1510. -- text size: 12
  1511. -- style flags: 0
  1512. -- line height: 16
  1513. -- part name: FX
  1514.  
  1515.  
  1516. -- part 68 (button)
  1517. -- low flags: 00
  1518. -- high flags: 2002
  1519. -- rect: left=183 top=320 right=338 bottom=207
  1520. -- title width / last selected line: 0
  1521. -- icon id / first selected line: 15999 / 15999
  1522. -- text alignment: 1
  1523. -- font id: 0
  1524. -- text size: 12
  1525. -- style flags: 0
  1526. -- line height: 16
  1527. -- part name: FX
  1528. ----- HyperTalk script -----
  1529. on mouseUp
  1530.   if the optionKey is up then
  1531.     if the shiftKey is up then
  1532.       setEffects
  1533.     else
  1534.       put "scroll left slowly to card" & return & "scroll right slowly to card" into background field "FXHolder"
  1535.     end if
  1536.   else
  1537.     GiveHelp "Set EffectsΓǪ"
  1538.   end if
  1539. end mouseUp
  1540.  
  1541. on mouseDown
  1542. end mouseDown
  1543.  
  1544.  
  1545. -- part 69 (button)
  1546. -- low flags: 00
  1547. -- high flags: 2002
  1548. -- rect: left=277 top=320 right=338 bottom=299
  1549. -- title width / last selected line: 0
  1550. -- icon id / first selected line: 31043 / 31043
  1551. -- text alignment: 1
  1552. -- font id: 0
  1553. -- text size: 12
  1554. -- style flags: 0
  1555. -- line height: 16
  1556. -- part name: BigType
  1557. ----- HyperTalk script -----
  1558. on mouseUp
  1559.   if the optionKey is up then createField 76 --BigType
  1560.   else GiveHelp "BigType┬á"
  1561. end mouseUp
  1562.  
  1563. on mouseDown
  1564. end mouseDown
  1565.  
  1566.  
  1567. -- part 70 (button)
  1568. -- low flags: 80
  1569. -- high flags: 2002
  1570. -- rect: left=276 top=320 right=338 bottom=300
  1571. -- title width / last selected line: 0
  1572. -- icon id / first selected line: 13086 / 13086
  1573. -- text alignment: 1
  1574. -- font id: 0
  1575. -- text size: 12
  1576. -- style flags: 0
  1577. -- line height: 16
  1578. -- part name: FlasherMaker
  1579. ----- HyperTalk script -----
  1580. on mouseUp
  1581.   if the optionKey is up then CreateButton 82 --flasher
  1582.   else GiveHelp "Flasher┬á"
  1583. end mouseUp
  1584.  
  1585. on mouseDown
  1586. end mouseDown
  1587.  
  1588.  
  1589. -- part 72 (button)
  1590. -- low flags: 80
  1591. -- high flags: 2002
  1592. -- rect: left=344 top=320 right=338 bottom=368
  1593. -- title width / last selected line: 0
  1594. -- icon id / first selected line: 21496 / 21496
  1595. -- text alignment: 1
  1596. -- font id: 0
  1597. -- text size: 12
  1598. -- style flags: 0
  1599. -- line height: 16
  1600. -- part name: ShutterMaker
  1601. ----- HyperTalk script -----
  1602. on mouseUp
  1603.   if the optionKey is up then CreateButton 83 --shutter
  1604.   else GiveHelp "Shutter┬á"
  1605. end mouseUp
  1606.  
  1607. on mouseDown
  1608. end mouseDown
  1609.  
  1610.  
  1611. -- part 76 (field)
  1612. -- low flags: 80
  1613. -- high flags: 2002
  1614. -- rect: left=110 top=89 right=236 bottom=393
  1615. -- title width / last selected line: 0
  1616. -- icon id / first selected line: 0 / 0
  1617. -- text alignment: 1
  1618. -- font id: 512
  1619. -- text size: 48
  1620. -- style flags: 256
  1621. -- line height: 64
  1622. -- part name: BigType
  1623.  
  1624.  
  1625. -- part 80 (button)
  1626. -- low flags: 80
  1627. -- high flags: 2002
  1628. -- rect: left=368 top=320 right=338 bottom=392
  1629. -- title width / last selected line: 0
  1630. -- icon id / first selected line: 18941 / 18941
  1631. -- text alignment: 1
  1632. -- font id: 0
  1633. -- text size: 12
  1634. -- style flags: 0
  1635. -- line height: 16
  1636. -- part name: MaskMaker
  1637. ----- HyperTalk script -----
  1638. on mouseUp
  1639.   if the optionKey is up then CreateButton 79 --Mask
  1640.   else GiveHelp "Mask┬á"
  1641. end mouseUp
  1642.  
  1643. on mouseDown
  1644. end mouseDown
  1645.  
  1646.  
  1647. -- part 84 (button)
  1648. -- low flags: 80
  1649. -- high flags: 2002
  1650. -- rect: left=452 top=320 right=338 bottom=476
  1651. -- title width / last selected line: 0
  1652. -- icon id / first selected line: 19676 / 19676
  1653. -- text alignment: 1
  1654. -- font id: 0
  1655. -- text size: 12
  1656. -- style flags: 0
  1657. -- line height: 16
  1658. -- part name: Eraser
  1659. ----- HyperTalk script -----
  1660. on mouseUp
  1661.   if the ShiftKey is down then
  1662.     if the optionKey is up then EraseCard
  1663.     else GiveHelp "Erase All Graphics┬á"
  1664.   else
  1665.     if the optionkey is up then
  1666.       choose eraser tool
  1667.       doMenu "revert"
  1668.       choose browse tool
  1669.     else
  1670.       GiveHelp "Erase Recent┬á"
  1671.     end if
  1672.   end if
  1673. end mouseUp
  1674.  
  1675. on mouseDown
  1676. end mouseDown
  1677.  
  1678.  
  1679. -- part 86 (button)
  1680. -- low flags: 00
  1681. -- high flags: 2000
  1682. -- rect: left=498 top=172 right=191 bottom=512
  1683. -- title width / last selected line: 0
  1684. -- icon id / first selected line: 31872 / 31872
  1685. -- text alignment: 1
  1686. -- font id: 0
  1687. -- text size: 12
  1688. -- style flags: 0
  1689. -- line height: 16
  1690. -- part name: LeftAlign
  1691. ----- HyperTalk script -----
  1692. on mouseUp
  1693.   global Mode
  1694.   if the optionKey is up then
  1695.     put "left" into Mode
  1696.     lockFields
  1697.   else GiveHelp "LeftAlignΓǪ"
  1698. end mouseUp
  1699.  
  1700. on mouseDown
  1701. end mouseDown
  1702.  
  1703.  
  1704. -- part 87 (button)
  1705. -- low flags: 00
  1706. -- high flags: 2000
  1707. -- rect: left=499 top=194 right=212 bottom=512
  1708. -- title width / last selected line: 0
  1709. -- icon id / first selected line: 31257 / 31257
  1710. -- text alignment: 1
  1711. -- font id: 0
  1712. -- text size: 12
  1713. -- style flags: 0
  1714. -- line height: 16
  1715. -- part name: CenterAlign
  1716. ----- HyperTalk script -----
  1717. on mouseUp
  1718.   global Mode
  1719.   if the optionKey is up then
  1720.     put "center" into Mode
  1721.     lockFields
  1722.   else GiveHelp "CenterΓǪ"
  1723. end mouseUp
  1724.  
  1725. on mouseDown
  1726. end mouseDown
  1727.  
  1728.  
  1729. -- part 88 (button)
  1730. -- low flags: 00
  1731. -- high flags: 2000
  1732. -- rect: left=498 top=215 right=233 bottom=512
  1733. -- title width / last selected line: 0
  1734. -- icon id / first selected line: 32309 / 32309
  1735. -- text alignment: 1
  1736. -- font id: 0
  1737. -- text size: 12
  1738. -- style flags: 0
  1739. -- line height: 16
  1740. -- part name: RightAlign
  1741. ----- HyperTalk script -----
  1742. on mouseUp
  1743.   global Mode
  1744.   if the optionKey is up then
  1745.     put "right" into Mode
  1746.     lockFields
  1747.   else GiveHelp "RightAlignΓǪ"
  1748. end mouseUp
  1749.  
  1750. on mouseDown
  1751. end mouseDown
  1752.  
  1753.  
  1754. -- part 92 (button)
  1755. -- low flags: 00
  1756. -- high flags: 2002
  1757. -- rect: left=135 top=320 right=338 bottom=159
  1758. -- title width / last selected line: 0
  1759. -- icon id / first selected line: 3233 / 3233
  1760. -- text alignment: 1
  1761. -- font id: 0
  1762. -- text size: 12
  1763. -- style flags: 0
  1764. -- line height: 16
  1765. -- part name: ShowButtonTools
  1766. ----- HyperTalk script -----
  1767. --show buttons for making buttons
  1768.  
  1769. on mouseUp
  1770.   global ToolView
  1771.   if the optionKey is up then
  1772.     if Toolview is "FieldTools"
  1773.     then
  1774.     HideFieldTools
  1775.   end if
  1776.   if ToolView is "DrawTools"
  1777.   then
  1778.   HideDrawTools
  1779. end if
  1780. if ToolView is not "ButtonTools"
  1781. then
  1782. ShowButtonTools
  1783. put "ButtonTools" into ToolView
  1784. end if
  1785. else
  1786.   GiveHelp "The Butn Menu┬á"
  1787. end if
  1788. end mouseUp
  1789.  
  1790. on mouseDown
  1791. end mouseDown
  1792.  
  1793.  
  1794.  
  1795. -- part 93 (button)
  1796. -- low flags: 00
  1797. -- high flags: 2002
  1798. -- rect: left=111 top=320 right=338 bottom=135
  1799. -- title width / last selected line: 0
  1800. -- icon id / first selected line: 26204 / 26204
  1801. -- text alignment: 1
  1802. -- font id: 0
  1803. -- text size: 12
  1804. -- style flags: 0
  1805. -- line height: 16
  1806. -- part name: ShowFieldTools
  1807. ----- HyperTalk script -----
  1808. --show buttons for making fields
  1809.  
  1810. on mouseUp
  1811.   global ToolView
  1812.   if the optionKey is up then
  1813.     if Toolview is "ButtonTools"
  1814.     then
  1815.     HideButtonTools
  1816.   end if
  1817.   if ToolView is "DrawTools"
  1818.   then
  1819.   HideDrawTools
  1820. end if
  1821. if ToolView is not "FieldTools"
  1822. then
  1823. ShowFieldTools
  1824. put "FieldTools" into ToolView
  1825. end if
  1826. else
  1827.   GiveHelp "The Field Menu┬á"
  1828. end if
  1829. end mouseUp
  1830.  
  1831. on mouseDown
  1832. end mouseDown
  1833.  
  1834.  
  1835.  
  1836. -- part 94 (button)
  1837. -- low flags: 00
  1838. -- high flags: 2002
  1839. -- rect: left=159 top=320 right=338 bottom=183
  1840. -- title width / last selected line: 0
  1841. -- icon id / first selected line: 7444 / 7444
  1842. -- text alignment: 1
  1843. -- font id: 0
  1844. -- text size: 12
  1845. -- style flags: 0
  1846. -- line height: 16
  1847. -- part name: ShowDrawTools
  1848. ----- HyperTalk script -----
  1849. --show buttons for drawing and recording the drawing
  1850.  
  1851. on mouseUp
  1852.   global ToolView
  1853.   if the optionKey is up then
  1854.     if Toolview is "FieldTools"
  1855.     then
  1856.     HideFieldTools
  1857.   end if
  1858.   if ToolView is "ButtonTools"
  1859.   then
  1860.   HideButtonTools
  1861. end if
  1862. if ToolView is not "DrawTools"
  1863. then
  1864. ShowDrawTools
  1865. put "DrawTools" into ToolView
  1866. end if
  1867. else
  1868.   GiveHelp "The Draw Menu┬á"
  1869. end if
  1870. end mouseUp
  1871.  
  1872. on mouseDown
  1873. end mouseDown
  1874.  
  1875.  
  1876.  
  1877. -- part 99 (button)
  1878. -- low flags: 80
  1879. -- high flags: 0002
  1880. -- rect: left=208 top=320 right=338 bottom=228
  1881. -- title width / last selected line: 0
  1882. -- icon id / first selected line: 15335 / 15335
  1883. -- text alignment: 1
  1884. -- font id: 0
  1885. -- text size: 12
  1886. -- style flags: 0
  1887. -- line height: 16
  1888. -- part name: ChainTool
  1889. ----- HyperTalk script -----
  1890. on mouseUp
  1891.   global Mode
  1892.   if Mode is empty then
  1893.     if the optionKey is up then beginChain "noMessage"
  1894.     else GiveHelp "Begin ChainΓǪ"
  1895.   else
  1896.     if the optionKey is up then endChain
  1897.     else GiveHelp "End Chain┬á"
  1898.   end if
  1899. end mouseUp
  1900.  
  1901. on mouseDown
  1902. end mouseDown
  1903.  
  1904.  
  1905.  
  1906. -- part 100 (field)
  1907. -- low flags: 80
  1908. -- high flags: 0007
  1909. -- rect: left=69 top=33 right=257 bottom=261
  1910. -- title width / last selected line: 0
  1911. -- icon id / first selected line: 0 / 0
  1912. -- text alignment: 0
  1913. -- font id: 3
  1914. -- text size: 9
  1915. -- style flags: 0
  1916. -- line height: 12
  1917. -- part name: Chains
  1918.  
  1919.  
  1920. -- part 102 (button)
  1921. -- low flags: 80
  1922. -- high flags: 2002
  1923. -- rect: left=277 top=320 right=338 bottom=299
  1924. -- title width / last selected line: 0
  1925. -- icon id / first selected line: 22259 / 22259
  1926. -- text alignment: 1
  1927. -- font id: 0
  1928. -- text size: 12
  1929. -- style flags: 0
  1930. -- line height: 16
  1931. -- part name: DrawArrow
  1932. ----- HyperTalk script -----
  1933. on mouseUp
  1934.   if the optionKey is up then MakeArrow "Straight"
  1935.   else GiveHelp "Straight ArrowΓǪ"
  1936. end mouseUp
  1937.  
  1938. on mouseDown
  1939. end mouseDown
  1940.  
  1941.  
  1942. -- part 103 (button)
  1943. -- low flags: 80
  1944. -- high flags: 2002
  1945. -- rect: left=455 top=320 right=338 bottom=474
  1946. -- title width / last selected line: 0
  1947. -- icon id / first selected line: 1950 / 1950
  1948. -- text alignment: 1
  1949. -- font id: 0
  1950. -- text size: 12
  1951. -- style flags: 0
  1952. -- line height: 16
  1953. -- part name: CheckBox Dingbat
  1954. ----- HyperTalk script -----
  1955. on mouseUp
  1956.   if the optionKey is up then CreateButton 110 --Checkbox DingBat
  1957.   else GiveHelp "CheckBox┬á"
  1958. end mouseUp
  1959.  
  1960. on mouseDown
  1961. end mouseDown
  1962.  
  1963.  
  1964. -- part 108 (button)
  1965. -- low flags: 80
  1966. -- high flags: 2002
  1967. -- rect: left=474 top=320 right=338 bottom=493
  1968. -- title width / last selected line: 0
  1969. -- icon id / first selected line: 12433 / 12433
  1970. -- text alignment: 1
  1971. -- font id: 0
  1972. -- text size: 12
  1973. -- style flags: 0
  1974. -- line height: 16
  1975. -- part name: Arrow Dingbat
  1976. ----- HyperTalk script -----
  1977. on mouseUp
  1978.   if the optionKey is up then CreateButton 115 --Arrow DingBat
  1979.   else GiveHelp "Arrow┬á"
  1980. end mouseUp
  1981.  
  1982. on mouseDown
  1983. end mouseDown
  1984.  
  1985.  
  1986. -- part 109 (button)
  1987. -- low flags: 80
  1988. -- high flags: 2002
  1989. -- rect: left=493 top=320 right=338 bottom=512
  1990. -- title width / last selected line: 0
  1991. -- icon id / first selected line: 1586 / 1586
  1992. -- text alignment: 1
  1993. -- font id: 0
  1994. -- text size: 12
  1995. -- style flags: 0
  1996. -- line height: 16
  1997. -- part name: Hand Dingbat
  1998. ----- HyperTalk script -----
  1999. on mouseUp
  2000.   if the optionKey is up then CreateButton 116 --Hand DingBat
  2001.   else GiveHelp "Hand┬á"
  2002. end mouseUp
  2003.  
  2004. on mouseDown
  2005. end mouseDown
  2006.  
  2007.  
  2008. -- part 110 (button)
  2009. -- low flags: 80
  2010. -- high flags: 0000
  2011. -- rect: left=16 top=170 right=202 bottom=49
  2012. -- title width / last selected line: 0
  2013. -- icon id / first selected line: 10454 / 10454
  2014. -- text alignment: 1
  2015. -- font id: 0
  2016. -- text size: 12
  2017. -- style flags: 0
  2018. -- line height: 16
  2019. -- part name: CheckBox Dingbat
  2020.  
  2021.  
  2022. -- part 115 (button)
  2023. -- low flags: 80
  2024. -- high flags: 0000
  2025. -- rect: left=16 top=170 right=202 bottom=49
  2026. -- title width / last selected line: 0
  2027. -- icon id / first selected line: 2415 / 2415
  2028. -- text alignment: 1
  2029. -- font id: 0
  2030. -- text size: 12
  2031. -- style flags: 0
  2032. -- line height: 16
  2033. -- part name: Arrow Dingbat
  2034.  
  2035.  
  2036. -- part 116 (button)
  2037. -- low flags: 80
  2038. -- high flags: 0000
  2039. -- rect: left=16 top=170 right=202 bottom=49
  2040. -- title width / last selected line: 0
  2041. -- icon id / first selected line: 32381 / 32381
  2042. -- text alignment: 1
  2043. -- font id: 0
  2044. -- text size: 12
  2045. -- style flags: 0
  2046. -- line height: 16
  2047. -- part name: Hand
  2048.  
  2049.  
  2050. -- part 117 (button)
  2051. -- low flags: 80
  2052. -- high flags: 0002
  2053. -- rect: left=0 top=28 right=43 bottom=13
  2054. -- title width / last selected line: 0
  2055. -- icon id / first selected line: 28210 / 28210
  2056. -- text alignment: 1
  2057. -- font id: 0
  2058. -- text size: 12
  2059. -- style flags: 0
  2060. -- line height: 16
  2061. -- part name: DelayButtons
  2062. ----- HyperTalk script -----
  2063. --Make Delay button
  2064.  
  2065. on mouseUp
  2066.   CreateButton 209
  2067.   choose browse tool
  2068. end mouseUp
  2069.  
  2070. on mouseDown
  2071. end mouseDown
  2072.  
  2073.  
  2074. -- part 119 (button)
  2075. -- low flags: 80
  2076. -- high flags: 0002
  2077. -- rect: left=0 top=63 right=78 bottom=13
  2078. -- title width / last selected line: 0
  2079. -- icon id / first selected line: 426 / 426
  2080. -- text alignment: 1
  2081. -- font id: 0
  2082. -- text size: 12
  2083. -- style flags: 0
  2084. -- line height: 16
  2085. -- part name: BeepButtons
  2086. ----- HyperTalk script -----
  2087. --Make Beep button
  2088.  
  2089. on mouseUp
  2090.   CreateButton 210
  2091.   choose browse tool
  2092. end mouseUp
  2093.  
  2094. on mouseDown
  2095. end mouseDown
  2096.  
  2097.  
  2098. -- part 121 (button)
  2099. -- low flags: 00
  2100. -- high flags: 2002
  2101. -- rect: left=299 top=320 right=338 bottom=319
  2102. -- title width / last selected line: 0
  2103. -- icon id / first selected line: 6723 / 6723
  2104. -- text alignment: 1
  2105. -- font id: 0
  2106. -- text size: 12
  2107. -- style flags: 0
  2108. -- line height: 16
  2109. -- part name: MakePoPUp
  2110. ----- HyperTalk script -----
  2111. on mouseUp
  2112.   if the optionKey is up then MakePopUp
  2113.   else GiveHelp "PopUp┬á"
  2114. end mouseUp
  2115.  
  2116. on mouseDown
  2117. end mouseDown
  2118.  
  2119.  
  2120. -- part 122 (field)
  2121. -- low flags: 80
  2122. -- high flags: 2004
  2123. -- rect: left=336 top=107 right=224 bottom=481
  2124. -- title width / last selected line: 0
  2125. -- icon id / first selected line: 0 / 0
  2126. -- text alignment: 0
  2127. -- font id: 91
  2128. -- text size: 24
  2129. -- style flags: 0
  2130. -- line height: 32
  2131. -- part name: PopUp
  2132.  
  2133.  
  2134. -- part 124 (button)
  2135. -- low flags: 80
  2136. -- high flags: 0000
  2137. -- rect: left=0 top=236 right=273 bottom=13
  2138. -- title width / last selected line: 0
  2139. -- icon id / first selected line: 0 / 0
  2140. -- text alignment: 1
  2141. -- font id: 0
  2142. -- text size: 12
  2143. -- style flags: 0
  2144. -- line height: 16
  2145. -- part name: Draw╩
  2146. ----- HyperTalk script -----
  2147. on mouseUp
  2148.   if the optionKey is down then
  2149.     put the short name of me into command
  2150.     delete char 1 to 5 of command
  2151.     GiveHelp command
  2152.   else pass mouseUp
  2153. end mouseUp
  2154.  
  2155. on mousedown
  2156.   if the optionKey is up then pass mouseDown
  2157. end mouseDown
  2158.  
  2159.  
  2160. -- part 125 (field)
  2161. -- low flags: 80
  2162. -- high flags: 0007
  2163. -- rect: left=0 top=169 right=258 bottom=49
  2164. -- title width / last selected line: 0
  2165. -- icon id / first selected line: 0 / 0
  2166. -- text alignment: 0
  2167. -- font id: 3
  2168. -- text size: 12
  2169. -- style flags: 0
  2170. -- line height: 16
  2171. -- part name: PopUps
  2172.  
  2173.  
  2174. -- part 126 (button)
  2175. -- low flags: 00
  2176. -- high flags: 0002
  2177. -- rect: left=35 top=320 right=338 bottom=57
  2178. -- title width / last selected line: 0
  2179. -- icon id / first selected line: 633 / 633
  2180. -- text alignment: 1
  2181. -- font id: 0
  2182. -- text size: 12
  2183. -- style flags: 0
  2184. -- line height: 16
  2185. -- part name: CleanUp
  2186. ----- HyperTalk script -----
  2187. --button for setting card to initial working state
  2188.  
  2189. on mouseUp
  2190.   if the optionKey is up then
  2191.     if the shiftKey is down then
  2192.       ResetAll
  2193.     else
  2194.       Reset
  2195.     end if
  2196.   else
  2197.     if the shiftKey is down then
  2198.       GiveHelp "Reset All Slides┬á"
  2199.     else
  2200.       GiveHelp "Reset Slide┬á"
  2201.     end if
  2202.   end if
  2203. end mouseUp
  2204.  
  2205. on mouseDown
  2206. end mouseDown
  2207.  
  2208.  
  2209. -- part 129 (button)
  2210. -- low flags: 80
  2211. -- high flags: 2002
  2212. -- rect: left=252 top=320 right=338 bottom=276
  2213. -- title width / last selected line: 0
  2214. -- icon id / first selected line: 25650 / 25650
  2215. -- text alignment: 1
  2216. -- font id: 0
  2217. -- text size: 12
  2218. -- style flags: 0
  2219. -- line height: 16
  2220. -- part name: HiliterTiler
  2221. ----- HyperTalk script -----
  2222. on mouseUp
  2223.   global Mode
  2224.   if the optionKey is up then
  2225.     put "tile" into Mode
  2226.     lockFields
  2227.   else GiveHelp "Tile HiliterΓǪ"
  2228. end mouseUp
  2229.  
  2230. on mouseDown
  2231. end mouseDown
  2232.  
  2233.  
  2234. -- part 130 (field)
  2235. -- low flags: 80
  2236. -- high flags: 0007
  2237. -- rect: left=255 top=170 right=255 bottom=455
  2238. -- title width / last selected line: 0
  2239. -- icon id / first selected line: 0 / 0
  2240. -- text alignment: 0
  2241. -- font id: 3
  2242. -- text size: 12
  2243. -- style flags: 0
  2244. -- line height: 16
  2245. -- part name: ButtonRects
  2246.  
  2247.  
  2248. -- part 132 (button)
  2249. -- low flags: 80
  2250. -- high flags: 0001
  2251. -- rect: left=216 top=181 right=263 bottom=440
  2252. -- title width / last selected line: 0
  2253. -- icon id / first selected line: 0 / 0
  2254. -- text alignment: 1
  2255. -- font id: 0
  2256. -- text size: 12
  2257. -- style flags: 0
  2258. -- line height: 16
  2259. -- part name: Shrinker
  2260. ----- HyperTalk script -----
  2261. on restore
  2262.   put the id of me into holder
  2263.   set the rect of me to line holder of background field "ButtonRects"
  2264.   put 1 into item 1 of line holder of field Chains
  2265. end restore
  2266.  
  2267.  
  2268.  
  2269. -- part 133 (button)
  2270. -- low flags: 80
  2271. -- high flags: 2002
  2272. -- rect: left=392 top=320 right=338 bottom=416
  2273. -- title width / last selected line: 0
  2274. -- icon id / first selected line: 160 / 160
  2275. -- text alignment: 1
  2276. -- font id: 0
  2277. -- text size: 12
  2278. -- style flags: 0
  2279. -- line height: 16
  2280. -- part name: ShrinkerMaker
  2281. ----- HyperTalk script -----
  2282. on mouseUp
  2283.   global Mode
  2284.   if the optionKey is up then
  2285.     put "shrinkwrap" into Mode
  2286.     lockFields
  2287.   else GiveHelp "ShrinkerΓǪ"
  2288. end mouseUp
  2289.  
  2290. on mouseDown
  2291. end mouseDown
  2292.  
  2293.  
  2294. -- part 134 (button)
  2295. -- low flags: 00
  2296. -- high flags: 2000
  2297. -- rect: left=498 top=151 right=169 bottom=512
  2298. -- title width / last selected line: 0
  2299. -- icon id / first selected line: 1347 / 1347
  2300. -- text alignment: 1
  2301. -- font id: 0
  2302. -- text size: 12
  2303. -- style flags: 0
  2304. -- line height: 16
  2305. -- part name: Squeezer
  2306. ----- HyperTalk script -----
  2307. on mouseUp
  2308.   if the optionKey is up then setSqueeze
  2309.   else GiveHelp "Squeeze Lines┬á"
  2310. end mouseUp
  2311.  
  2312. on mouseDown
  2313. end mouseDown
  2314.  
  2315.  
  2316. -- part 135 (field)
  2317. -- low flags: 80
  2318. -- high flags: 0007
  2319. -- rect: left=39 top=55 right=258 bottom=477
  2320. -- title width / last selected line: 0
  2321. -- icon id / first selected line: 0 / 0
  2322. -- text alignment: 1
  2323. -- font id: 512
  2324. -- text size: 48
  2325. -- style flags: 0
  2326. -- line height: 64
  2327. -- part name: AutoScroller 2
  2328. ----- HyperTalk script -----
  2329. on autoScroll
  2330.   put word 2 of the short name of me into scrollrate
  2331.   set the scroll of me to 0
  2332.   put the number of lines of me into myLength
  2333.   put the rect of me into myrect
  2334.   put the textheight of me into lineHeight
  2335.   put 0 into myscroll
  2336.   put (item 4 of myrect) - (item 2 of myrect) into mybottom
  2337.   put 2 + (myLength*lineHeight) - myBottom into myBottom
  2338.   repeat while myscroll < myBottom
  2339.     add scrollrate to myscroll
  2340.     set the scroll of me to myscroll
  2341.   end repeat
  2342. end autoScroll
  2343.  
  2344.  
  2345. -- part 137 (field)
  2346. -- low flags: 80
  2347. -- high flags: 2002
  2348. -- rect: left=178 top=49 right=98 bottom=304
  2349. -- title width / last selected line: 0
  2350. -- icon id / first selected line: 0 / 0
  2351. -- text alignment: 1
  2352. -- font id: 91
  2353. -- text size: 18
  2354. -- style flags: 0
  2355. -- line height: 24
  2356. -- part name: Rectangle
  2357.  
  2358.  
  2359. -- part 139 (button)
  2360. -- low flags: 80
  2361. -- high flags: 0000
  2362. -- rect: left=382 top=202 right=234 bottom=483
  2363. -- title width / last selected line: 0
  2364. -- icon id / first selected line: 0 / 0
  2365. -- text alignment: 1
  2366. -- font id: 0
  2367. -- text size: 12
  2368. -- style flags: 0
  2369. -- line height: 16
  2370. -- part name: GreyOut
  2371. ----- HyperTalk script -----
  2372.  
  2373.  
  2374.  
  2375.  
  2376. -- part 140 (button)
  2377. -- low flags: 80
  2378. -- high flags: 8000
  2379. -- rect: left=422 top=284 right=306 bottom=486
  2380. -- title width / last selected line: 0
  2381. -- icon id / first selected line: 0 / 0
  2382. -- text alignment: 1
  2383. -- font id: 0
  2384. -- text size: 12
  2385. -- style flags: 0
  2386. -- line height: 16
  2387. -- part name: Step (1)
  2388. ----- HyperTalk script -----
  2389. on restore
  2390.   put the id of me into holder
  2391.   put 1 into item 1 of line holder of field Heirarchy
  2392.   if item 2 of line holder of field Heirarchy is empty
  2393.   then
  2394.   set the name of button ID holder to "Step (1)"
  2395. else
  2396.   set the name of button ID holder to "Step 1"
  2397. end if
  2398. end restore
  2399.  
  2400.  
  2401.  
  2402. -- part 141 (field)
  2403. -- low flags: 80
  2404. -- high flags: 2007
  2405. -- rect: left=16 top=48 right=305 bottom=487
  2406. -- title width / last selected line: 0
  2407. -- icon id / first selected line: 0 / 0
  2408. -- text alignment: 0
  2409. -- font id: 91
  2410. -- text size: 24
  2411. -- style flags: 0
  2412. -- line height: 32
  2413. -- part name: Scrolling
  2414.  
  2415.  
  2416. -- part 142 (field)
  2417. -- low flags: 80
  2418. -- high flags: 0000
  2419. -- rect: left=156 top=120 right=205 bottom=356
  2420. -- title width / last selected line: 0
  2421. -- icon id / first selected line: 0 / 0
  2422. -- text alignment: 0
  2423. -- font id: 3
  2424. -- text size: 12
  2425. -- style flags: 0
  2426. -- line height: 16
  2427. -- part name: ObjectNames
  2428.  
  2429.  
  2430. -- part 143 (field)
  2431. -- low flags: 80
  2432. -- high flags: 6002
  2433. -- rect: left=91 top=44 right=303 bottom=148
  2434. -- title width / last selected line: 0
  2435. -- icon id / first selected line: 0 / 0
  2436. -- text alignment: 65535
  2437. -- font id: 3
  2438. -- text size: 12
  2439. -- style flags: 0
  2440. -- line height: 16
  2441. -- part name: YValues
  2442. ----- HyperTalk script -----
  2443. on mouseUp
  2444. end mouseUp
  2445.  
  2446. on mouseDown
  2447. end mouseDown
  2448.  
  2449.  
  2450. -- part 144 (field)
  2451. -- low flags: 80
  2452. -- high flags: 6002
  2453. -- rect: left=26 top=44 right=303 bottom=83
  2454. -- title width / last selected line: 0
  2455. -- icon id / first selected line: 0 / 0
  2456. -- text alignment: 65535
  2457. -- font id: 3
  2458. -- text size: 12
  2459. -- style flags: 0
  2460. -- line height: 16
  2461. -- part name: XValues
  2462. ----- HyperTalk script -----
  2463. on mouseUp
  2464. end mouseUp
  2465.  
  2466. on mouseDown
  2467. end mouseDown
  2468.  
  2469.  
  2470. -- part 147 (field)
  2471. -- low flags: 81
  2472. -- high flags: 2004
  2473. -- rect: left=157 top=25 right=306 bottom=476
  2474. -- title width / last selected line: 0
  2475. -- icon id / first selected line: 0 / 0
  2476. -- text alignment: 1
  2477. -- font id: 3
  2478. -- text size: 12
  2479. -- style flags: 256
  2480. -- line height: 16
  2481. -- part name: GraphEntry
  2482. ----- HyperTalk script -----
  2483. on mouseUp
  2484. end mouseUp
  2485.  
  2486. on mouseDown
  2487. end mouseDown
  2488.  
  2489.  
  2490. -- part 149 (button)
  2491. -- low flags: 80
  2492. -- high flags: A003
  2493. -- rect: left=212 top=275 right=297 bottom=312
  2494. -- title width / last selected line: 0
  2495. -- icon id / first selected line: 0 / 0
  2496. -- text alignment: 1
  2497. -- font id: 0
  2498. -- text size: 12
  2499. -- style flags: 0
  2500. -- line height: 16
  2501. -- part name: No╩Change
  2502. ----- HyperTalk script -----
  2503. on mouseUp
  2504.   global XCoords, YCoords
  2505.   put XCoords into field "XValues"
  2506.   put YCoords into field "YValues"
  2507.   select after line 1 of field "XValues"
  2508. end mouseUp
  2509.  
  2510. On mouseDown
  2511. end mouseDown
  2512.  
  2513.  
  2514.  
  2515. -- part 150 (button)
  2516. -- low flags: 80
  2517. -- high flags: A003
  2518. -- rect: left=322 top=275 right=297 bottom=422
  2519. -- title width / last selected line: 0
  2520. -- icon id / first selected line: 0 / 0
  2521. -- text alignment: 1
  2522. -- font id: 0
  2523. -- text size: 12
  2524. -- style flags: 0
  2525. -- line height: 16
  2526. -- part name: Delete╩Graph
  2527. ----- HyperTalk script -----
  2528. on mouseUp
  2529.   global Mode
  2530.   put "NoGraph" into Mode
  2531.   send DefineArea to field "Scripts"
  2532. end mouseUp
  2533.  
  2534. on mouseDown
  2535. end mouseDown
  2536.  
  2537.  
  2538. -- part 154 (button)
  2539. -- low flags: 80
  2540. -- high flags: A003
  2541. -- rect: left=211 top=238 right=272 bottom=422
  2542. -- title width / last selected line: 0
  2543. -- icon id / first selected line: 0 / 0
  2544. -- text alignment: 1
  2545. -- font id: 0
  2546. -- text size: 12
  2547. -- style flags: 0
  2548. -- line height: 16
  2549. -- part name: Values╩Okay
  2550. ----- HyperTalk script -----
  2551. on mouseUp
  2552.   send DefineArea to field Scripts
  2553. end mouseUp
  2554.  
  2555. On mouseDown
  2556. end mouseDown
  2557.  
  2558.  
  2559.  
  2560. -- part 155 (field)
  2561. -- low flags: 81
  2562. -- high flags: 2002
  2563. -- rect: left=100 top=59 right=259 bottom=400
  2564. -- title width / last selected line: 0
  2565. -- icon id / first selected line: 0 / 0
  2566. -- text alignment: 0
  2567. -- font id: 3
  2568. -- text size: 12
  2569. -- style flags: 256
  2570. -- line height: 16
  2571. -- part name: GraphArea
  2572. ----- HyperTalk script -----
  2573. on mouseUp
  2574. end mouseUp
  2575.  
  2576. on mouseDown
  2577. end mouseDown
  2578.  
  2579.  
  2580. -- part 156 (button)
  2581. -- low flags: 80
  2582. -- high flags: A003
  2583. -- rect: left=386 top=284 right=306 bottom=486
  2584. -- title width / last selected line: 0
  2585. -- icon id / first selected line: 0 / 0
  2586. -- text alignment: 1
  2587. -- font id: 0
  2588. -- text size: 12
  2589. -- style flags: 0
  2590. -- line height: 16
  2591. -- part name: Area╩OK
  2592. ----- HyperTalk script -----
  2593. on mouseUp
  2594.   send GetGraphLabels to field "Scripts"
  2595. end mouseUp
  2596.  
  2597. on mouseDown
  2598. end mouseDown
  2599.  
  2600.  
  2601. -- part 166 (field)
  2602. -- low flags: 80
  2603. -- high flags: 2002
  2604. -- rect: left=138 top=118 right=144 bottom=252
  2605. -- title width / last selected line: 0
  2606. -- icon id / first selected line: 0 / 0
  2607. -- text alignment: 1
  2608. -- font id: 3
  2609. -- text size: 12
  2610. -- style flags: 256
  2611. -- line height: 16
  2612. -- part name: XMax
  2613. ----- HyperTalk script -----
  2614. on mouseup
  2615. end mouseUp
  2616.  
  2617. on mousedown
  2618. end mousedown
  2619.  
  2620.  
  2621. -- part 168 (field)
  2622. -- low flags: 80
  2623. -- high flags: 2002
  2624. -- rect: left=138 top=220 right=246 bottom=252
  2625. -- title width / last selected line: 0
  2626. -- icon id / first selected line: 0 / 0
  2627. -- text alignment: 1
  2628. -- font id: 3
  2629. -- text size: 12
  2630. -- style flags: 256
  2631. -- line height: 16
  2632. -- part name: XInt
  2633. ----- HyperTalk script -----
  2634. on mouseup
  2635. end mouseUp
  2636.  
  2637. on mousedown
  2638. end mousedown
  2639.  
  2640.  
  2641. -- part 170 (field)
  2642. -- low flags: 80
  2643. -- high flags: 2002
  2644. -- rect: left=138 top=169 right=195 bottom=252
  2645. -- title width / last selected line: 0
  2646. -- icon id / first selected line: 0 / 0
  2647. -- text alignment: 1
  2648. -- font id: 3
  2649. -- text size: 12
  2650. -- style flags: 256
  2651. -- line height: 16
  2652. -- part name: XMin
  2653. ----- HyperTalk script -----
  2654. on mouseup
  2655. end mouseUp
  2656.  
  2657. on mousedown
  2658. end mousedown
  2659.  
  2660.  
  2661. -- part 173 (field)
  2662. -- low flags: 80
  2663. -- high flags: 2002
  2664. -- rect: left=251 top=118 right=144 bottom=365
  2665. -- title width / last selected line: 0
  2666. -- icon id / first selected line: 0 / 0
  2667. -- text alignment: 1
  2668. -- font id: 3
  2669. -- text size: 12
  2670. -- style flags: 256
  2671. -- line height: 16
  2672. -- part name: YMax
  2673. ----- HyperTalk script -----
  2674. on mouseup
  2675. end mouseUp
  2676.  
  2677. on mousedown
  2678. end mousedown
  2679.  
  2680.  
  2681. -- part 175 (field)
  2682. -- low flags: 80
  2683. -- high flags: 2002
  2684. -- rect: left=251 top=220 right=246 bottom=365
  2685. -- title width / last selected line: 0
  2686. -- icon id / first selected line: 0 / 0
  2687. -- text alignment: 1
  2688. -- font id: 3
  2689. -- text size: 12
  2690. -- style flags: 256
  2691. -- line height: 16
  2692. -- part name: YInt
  2693. ----- HyperTalk script -----
  2694. on mouseup
  2695. end mouseUp
  2696.  
  2697. on mousedown
  2698. end mousedown
  2699.  
  2700.  
  2701. -- part 177 (field)
  2702. -- low flags: 80
  2703. -- high flags: 2002
  2704. -- rect: left=251 top=169 right=195 bottom=365
  2705. -- title width / last selected line: 0
  2706. -- icon id / first selected line: 0 / 0
  2707. -- text alignment: 1
  2708. -- font id: 3
  2709. -- text size: 12
  2710. -- style flags: 256
  2711. -- line height: 16
  2712. -- part name: YMin
  2713. ----- HyperTalk script -----
  2714. on mouseup
  2715. end mouseUp
  2716.  
  2717. on mousedown
  2718. end mousedown
  2719.  
  2720.  
  2721. -- part 186 (button)
  2722. -- low flags: 80
  2723. -- high flags: 8002
  2724. -- rect: left=138 top=41 right=67 bottom=365
  2725. -- title width / last selected line: 0
  2726. -- icon id / first selected line: 0 / 0
  2727. -- text alignment: 1
  2728. -- font id: 0
  2729. -- text size: 12
  2730. -- style flags: 0
  2731. -- line height: 16
  2732. -- part name: Coordinate╩Axes
  2733. ----- HyperTalk script -----
  2734. on mouseUp
  2735. end mouseUp
  2736.  
  2737. on mouseDown
  2738. end mouseDown
  2739.  
  2740.  
  2741. -- part 187 (button)
  2742. -- low flags: 80
  2743. -- high flags: 8002
  2744. -- rect: left=138 top=67 right=93 bottom=252
  2745. -- title width / last selected line: 0
  2746. -- icon id / first selected line: 0 / 0
  2747. -- text alignment: 1
  2748. -- font id: 0
  2749. -- text size: 12
  2750. -- style flags: 0
  2751. -- line height: 16
  2752. -- part name: X╩Axis
  2753. ----- HyperTalk script -----
  2754. on mouseUp
  2755. end mouseUp
  2756.  
  2757. on mouseDown
  2758. end mouseDown
  2759.  
  2760.  
  2761. -- part 188 (button)
  2762. -- low flags: 80
  2763. -- high flags: 8002
  2764. -- rect: left=251 top=67 right=93 bottom=365
  2765. -- title width / last selected line: 0
  2766. -- icon id / first selected line: 0 / 0
  2767. -- text alignment: 1
  2768. -- font id: 0
  2769. -- text size: 12
  2770. -- style flags: 0
  2771. -- line height: 16
  2772. -- part name: Y╩Axis
  2773. ----- HyperTalk script -----
  2774. on mouseUp
  2775. end mouseUp
  2776.  
  2777. on mouseDown
  2778. end mouseDown
  2779.  
  2780.  
  2781. -- part 190 (button)
  2782. -- low flags: 80
  2783. -- high flags: 8002
  2784. -- rect: left=138 top=93 right=119 bottom=252
  2785. -- title width / last selected line: 0
  2786. -- icon id / first selected line: 0 / 0
  2787. -- text alignment: 1
  2788. -- font id: 0
  2789. -- text size: 12
  2790. -- style flags: 0
  2791. -- line height: 16
  2792. -- part name: Maximum╩X
  2793. ----- HyperTalk script -----
  2794. on mouseUp
  2795. end mouseUp
  2796.  
  2797. on mouseDown
  2798. end mouseDown
  2799.  
  2800.  
  2801. -- part 191 (button)
  2802. -- low flags: 80
  2803. -- high flags: 8002
  2804. -- rect: left=251 top=93 right=119 bottom=365
  2805. -- title width / last selected line: 0
  2806. -- icon id / first selected line: 0 / 0
  2807. -- text alignment: 1
  2808. -- font id: 0
  2809. -- text size: 12
  2810. -- style flags: 0
  2811. -- line height: 16
  2812. -- part name: Maximum╩Y
  2813. ----- HyperTalk script -----
  2814. on mouseUp
  2815. end mouseUp
  2816.  
  2817. on mouseDown
  2818. end mouseDown
  2819.  
  2820.  
  2821. -- part 193 (button)
  2822. -- low flags: 80
  2823. -- high flags: 8002
  2824. -- rect: left=138 top=195 right=221 bottom=252
  2825. -- title width / last selected line: 0
  2826. -- icon id / first selected line: 0 / 0
  2827. -- text alignment: 1
  2828. -- font id: 0
  2829. -- text size: 12
  2830. -- style flags: 0
  2831. -- line height: 16
  2832. -- part name: X╩Interval
  2833. ----- HyperTalk script -----
  2834. on mouseUp
  2835. end mouseUp
  2836.  
  2837. on mouseDown
  2838. end mouseDown
  2839.  
  2840.  
  2841. -- part 194 (button)
  2842. -- low flags: 80
  2843. -- high flags: 8002
  2844. -- rect: left=251 top=195 right=221 bottom=365
  2845. -- title width / last selected line: 0
  2846. -- icon id / first selected line: 0 / 0
  2847. -- text alignment: 1
  2848. -- font id: 0
  2849. -- text size: 12
  2850. -- style flags: 0
  2851. -- line height: 16
  2852. -- part name: Y╩Interval
  2853. ----- HyperTalk script -----
  2854. on mouseUp
  2855. end mouseUp
  2856.  
  2857. on mouseDown
  2858. end mouseDown
  2859.  
  2860.  
  2861. -- part 196 (button)
  2862. -- low flags: 80
  2863. -- high flags: 8002
  2864. -- rect: left=138 top=144 right=170 bottom=252
  2865. -- title width / last selected line: 0
  2866. -- icon id / first selected line: 0 / 0
  2867. -- text alignment: 1
  2868. -- font id: 0
  2869. -- text size: 12
  2870. -- style flags: 0
  2871. -- line height: 16
  2872. -- part name: Minimum╩X
  2873. ----- HyperTalk script -----
  2874. on mouseUp
  2875. end mouseUp
  2876.  
  2877. on mouseDown
  2878. end mouseDown
  2879.  
  2880.  
  2881. -- part 197 (button)
  2882. -- low flags: 80
  2883. -- high flags: 8002
  2884. -- rect: left=251 top=144 right=170 bottom=365
  2885. -- title width / last selected line: 0
  2886. -- icon id / first selected line: 0 / 0
  2887. -- text alignment: 1
  2888. -- font id: 0
  2889. -- text size: 12
  2890. -- style flags: 0
  2891. -- line height: 16
  2892. -- part name: Minimum╩Y
  2893. ----- HyperTalk script -----
  2894. on mouseUp
  2895. end mouseUp
  2896.  
  2897. on mouseDown
  2898. end mouseDown
  2899.  
  2900.  
  2901. -- part 201 (button)
  2902. -- low flags: 80
  2903. -- high flags: A003
  2904. -- rect: left=378 top=169 right=191 bottom=483
  2905. -- title width / last selected line: 0
  2906. -- icon id / first selected line: 0 / 0
  2907. -- text alignment: 1
  2908. -- font id: 0
  2909. -- text size: 12
  2910. -- style flags: 0
  2911. -- line height: 16
  2912. -- part name: Abort╩Graph
  2913. ----- HyperTalk script -----
  2914. on mouseUp
  2915.   global Mode
  2916.   put "NoGraph" into Mode
  2917.   send mouseUp to background button "Axes┬áOkay"
  2918. end mouseUp
  2919.  
  2920. on mouseDown
  2921. end mouseDown
  2922.  
  2923.  
  2924. -- part 202 (button)
  2925. -- low flags: 80
  2926. -- high flags: 8002
  2927. -- rect: left=26 top=24 right=44 bottom=83
  2928. -- title width / last selected line: 0
  2929. -- icon id / first selected line: 0 / 0
  2930. -- text alignment: 1
  2931. -- font id: 0
  2932. -- text size: 12
  2933. -- style flags: 0
  2934. -- line height: 16
  2935. -- part name: ╩X╩
  2936. ----- HyperTalk script -----
  2937. on mouseUp
  2938. end mouseUp
  2939.  
  2940. On mouseDown
  2941. end mouseDown
  2942.  
  2943.  
  2944.  
  2945. -- part 203 (button)
  2946. -- low flags: 80
  2947. -- high flags: 8002
  2948. -- rect: left=91 top=24 right=44 bottom=148
  2949. -- title width / last selected line: 0
  2950. -- icon id / first selected line: 0 / 0
  2951. -- text alignment: 1
  2952. -- font id: 0
  2953. -- text size: 12
  2954. -- style flags: 0
  2955. -- line height: 16
  2956. -- part name: ╩Y╩
  2957. ----- HyperTalk script -----
  2958. on mouseUp
  2959. end mouseUp
  2960.  
  2961. On mouseDown
  2962. end mouseDown
  2963.  
  2964.  
  2965.  
  2966. -- part 205 (field)
  2967. -- low flags: 80
  2968. -- high flags: 2004
  2969. -- rect: left=141 top=128 right=213 bottom=341
  2970. -- title width / last selected line: 0
  2971. -- icon id / first selected line: 0 / 0
  2972. -- text alignment: 0
  2973. -- font id: 0
  2974. -- text size: 12
  2975. -- style flags: 0
  2976. -- line height: 16
  2977. -- part name: Shimmer
  2978.  
  2979.  
  2980. -- part 206 (button)
  2981. -- low flags: 80
  2982. -- high flags: 0002
  2983. -- rect: left=0 top=95 right=112 bottom=13
  2984. -- title width / last selected line: 0
  2985. -- icon id / first selected line: 8276 / 8276
  2986. -- text alignment: 1
  2987. -- font id: 0
  2988. -- text size: 12
  2989. -- style flags: 0
  2990. -- line height: 16
  2991. -- part name: LockScreenButtons
  2992. ----- HyperTalk script -----
  2993. --Make LockScreen button
  2994.  
  2995. on mouseUp
  2996.   CreateButton 207
  2997.   choose browse tool
  2998. end mouseUp
  2999.  
  3000. on mouseDown
  3001. end mouseDown
  3002.  
  3003.  
  3004. -- part 207 (button)
  3005. -- low flags: 80
  3006. -- high flags: 0000
  3007. -- rect: left=0 top=89 right=120 bottom=12
  3008. -- title width / last selected line: 0
  3009. -- icon id / first selected line: 0 / 0
  3010. -- text alignment: 1
  3011. -- font id: 0
  3012. -- text size: 12
  3013. -- style flags: 0
  3014. -- line height: 16
  3015. -- part name: LockScreen
  3016. ----- HyperTalk script -----
  3017. on mouseUp
  3018.   if the optionKey is down then GiveHelp "LockScreen┬á"
  3019.   else pass mouseUp
  3020. end mouseUp
  3021.  
  3022. on mousedown
  3023.   if the optionKey is up then pass mouseDown
  3024. end mouseDown
  3025.  
  3026.  
  3027. -- part 209 (button)
  3028. -- low flags: 80
  3029. -- high flags: 0000
  3030. -- rect: left=0 top=19 right=50 bottom=12
  3031. -- title width / last selected line: 0
  3032. -- icon id / first selected line: 0 / 0
  3033. -- text alignment: 1
  3034. -- font id: 0
  3035. -- text size: 12
  3036. -- style flags: 0
  3037. -- line height: 16
  3038. -- part name: Delay
  3039. ----- HyperTalk script -----
  3040. on mouseUp
  3041.   if the optionKey is down then GiveHelp "Delay┬á"
  3042.   else pass mouseUp
  3043. end mouseUp
  3044.  
  3045. on mousedown
  3046.   if the optionKey is up then pass mouseDown
  3047. end mouseDown
  3048.  
  3049.  
  3050. -- part 210 (button)
  3051. -- low flags: 80
  3052. -- high flags: 0000
  3053. -- rect: left=0 top=55 right=86 bottom=12
  3054. -- title width / last selected line: 0
  3055. -- icon id / first selected line: 0 / 0
  3056. -- text alignment: 1
  3057. -- font id: 0
  3058. -- text size: 12
  3059. -- style flags: 0
  3060. -- line height: 16
  3061. -- part name: Beep
  3062. ----- HyperTalk script -----
  3063. on mouseUp
  3064.   if the optionKey is down then GiveHelp "Beep┬á"
  3065.   else pass mouseUp
  3066. end mouseUp
  3067.  
  3068. on mousedown
  3069.   if the optionKey is up then pass mouseDown
  3070. end mouseDown
  3071.  
  3072.  
  3073. -- part 226 (button)
  3074. -- low flags: 80
  3075. -- high flags: A003
  3076. -- rect: left=378 top=133 right=166 bottom=483
  3077. -- title width / last selected line: 0
  3078. -- icon id / first selected line: 0 / 0
  3079. -- text alignment: 1
  3080. -- font id: 0
  3081. -- text size: 12
  3082. -- style flags: 0
  3083. -- line height: 16
  3084. -- part name: Axes╩Okay
  3085. ----- HyperTalk script -----
  3086. on mouseUp
  3087.   global Mode, ObjectID
  3088.   hide background button id 186 --Coordinate Axes
  3089.   hide background button id 187 --X┬áAxis
  3090.   hide background button id 188 --Y┬áAxis
  3091.   hide background button id 190 --Maximum┬áX
  3092.   hide background button id 191 --Maximum┬áY
  3093.   hide field id 166 --XMax
  3094.   hide field id 173 --YMax
  3095.   hide background button id 196 --Minimum┬áX
  3096.   hide background button id 197 --Minimum┬áY
  3097.   hide field id 170 --XMin
  3098.   hide field id 177 --YMin
  3099.   hide background button id 193 --X┬áInterval
  3100.   hide background button id 194 --Y┬áInterval
  3101.   hide field id 168 --XInt
  3102.   hide field id 175 --YInt
  3103.   hide background button id 227 --X┬áUnit┬áLabel
  3104.   hide background button id 228 --Y┬áUnit┬áLabel
  3105.   hide field id 231 --XLabel
  3106.   hide field id 230 --YLabel
  3107.   hide background button id 226 --Axes┬áOkay
  3108.   hide background button id 201 --Abort┬áGraph
  3109.   if Mode is not "NoGraph"
  3110.   then
  3111.   show field "RequestGraphType" --requests type of graph
  3112.   put return & return & "Select desired type of graph:" into field "RequestGraphType"
  3113.   show background button "Line Graph"
  3114.   show background button "Bar Graph"
  3115.   show background button "Plot Graph"
  3116.   show background button "Pie Graph"
  3117.   if line 4 of field id 155 is empty then
  3118.     Createbutton 267
  3119.     put ObjectID into line 4 of field id 155
  3120.     choose browse tool
  3121.   end if
  3122. else
  3123.   put empty into line 3 of field id 155
  3124.   show card picture
  3125. end if
  3126. put empty into mode
  3127. end mouseUp
  3128.  
  3129. on mouseDown
  3130. end mouseDown
  3131.  
  3132.  
  3133. -- part 227 (button)
  3134. -- low flags: 80
  3135. -- high flags: 8002
  3136. -- rect: left=138 top=246 right=272 bottom=252
  3137. -- title width / last selected line: 0
  3138. -- icon id / first selected line: 0 / 0
  3139. -- text alignment: 1
  3140. -- font id: 0
  3141. -- text size: 12
  3142. -- style flags: 0
  3143. -- line height: 16
  3144. -- part name: X╩Unit╩Label
  3145. ----- HyperTalk script -----
  3146. on mouseUp
  3147. end mouseUp
  3148.  
  3149. on mouseDown
  3150. end mouseDown
  3151.  
  3152.  
  3153. -- part 228 (button)
  3154. -- low flags: 80
  3155. -- high flags: 8002
  3156. -- rect: left=251 top=246 right=272 bottom=365
  3157. -- title width / last selected line: 0
  3158. -- icon id / first selected line: 0 / 0
  3159. -- text alignment: 1
  3160. -- font id: 0
  3161. -- text size: 12
  3162. -- style flags: 0
  3163. -- line height: 16
  3164. -- part name: Y╩Unit╩Label
  3165. ----- HyperTalk script -----
  3166. on mouseUp
  3167. end mouseUp
  3168.  
  3169. on mouseDown
  3170. end mouseDown
  3171.  
  3172.  
  3173. -- part 230 (field)
  3174. -- low flags: 80
  3175. -- high flags: 2002
  3176. -- rect: left=251 top=271 right=297 bottom=365
  3177. -- title width / last selected line: 0
  3178. -- icon id / first selected line: 0 / 0
  3179. -- text alignment: 0
  3180. -- font id: 3
  3181. -- text size: 12
  3182. -- style flags: 256
  3183. -- line height: 16
  3184. -- part name: YLabel
  3185. ----- HyperTalk script -----
  3186. on mouseup
  3187. end mouseUp
  3188.  
  3189. on mousedown
  3190. end mousedown
  3191.  
  3192.  
  3193. -- part 231 (field)
  3194. -- low flags: 80
  3195. -- high flags: 2002
  3196. -- rect: left=20 top=271 right=297 bottom=252
  3197. -- title width / last selected line: 0
  3198. -- icon id / first selected line: 0 / 0
  3199. -- text alignment: 65535
  3200. -- font id: 3
  3201. -- text size: 12
  3202. -- style flags: 256
  3203. -- line height: 16
  3204. -- part name: XLabel
  3205. ----- HyperTalk script -----
  3206. on mouseup
  3207. end mouseUp
  3208.  
  3209. on mousedown
  3210. end mousedown
  3211.  
  3212.  
  3213. -- part 233 (button)
  3214. -- low flags: 80
  3215. -- high flags: 0002
  3216. -- rect: left=0 top=131 right=148 bottom=13
  3217. -- title width / last selected line: 0
  3218. -- icon id / first selected line: 45 / 45
  3219. -- text alignment: 1
  3220. -- font id: 0
  3221. -- text size: 12
  3222. -- style flags: 0
  3223. -- line height: 16
  3224. -- part name: OpenerMaker
  3225. ----- HyperTalk script -----
  3226. --Make Opener button
  3227.  
  3228. on mouseUp
  3229.   CreateButton 234
  3230.   choose browse tool
  3231. end mouseUp
  3232.  
  3233. on mouseDown
  3234. end mouseDown
  3235.  
  3236.  
  3237. -- part 234 (button)
  3238. -- low flags: 80
  3239. -- high flags: 0000
  3240. -- rect: left=0 top=123 right=154 bottom=12
  3241. -- title width / last selected line: 0
  3242. -- icon id / first selected line: 0 / 0
  3243. -- text alignment: 1
  3244. -- font id: 0
  3245. -- text size: 12
  3246. -- style flags: 0
  3247. -- line height: 16
  3248. -- part name: Opener
  3249. ----- HyperTalk script -----
  3250. on mouseUp
  3251.   if the optionKey is down then GiveHelp "On OpenCard┬á"
  3252.   else pass mouseUp
  3253. end mouseUp
  3254.  
  3255. on mousedown
  3256.   if the optionKey is up then pass mouseDown
  3257. end mouseDown
  3258.  
  3259.  
  3260. -- part 237 (field)
  3261. -- low flags: 81
  3262. -- high flags: 2004
  3263. -- rect: left=59 top=253 right=295 bottom=436
  3264. -- title width / last selected line: 0
  3265. -- icon id / first selected line: 0 / 0
  3266. -- text alignment: 65535
  3267. -- font id: 91
  3268. -- text size: 24
  3269. -- style flags: 0
  3270. -- line height: 32
  3271. -- part name: TypeWriter
  3272.  
  3273.  
  3274. -- part 243 (field)
  3275. -- low flags: 80
  3276. -- high flags: 0002
  3277. -- rect: left=24 top=17 right=307 bottom=482
  3278. -- title width / last selected line: 0
  3279. -- icon id / first selected line: 0 / 0
  3280. -- text alignment: 0
  3281. -- font id: 3
  3282. -- text size: 12
  3283. -- style flags: 0
  3284. -- line height: 16
  3285. -- part name: Scripts
  3286. ----- HyperTalk script -----
  3287. on draw
  3288.   --handles drawing & recording lines and arrows
  3289.   global lineFlag
  3290.   if lineFlag is 2 or lineFlag is 4 then getPoint2
  3291.   if LineFlag is 3 then getPoint1 1   --with arrowhead
  3292.   if lineFlag is 1 then getPoint1 0   --without arrowhead
  3293.   hide msg
  3294. end draw
  3295.  
  3296. on getPoint1 tip
  3297.   global lineStyle, lineFlag, SX, SY, Speed, NextLine
  3298.   put item 1 of the clickLoc into SX
  3299.   put item 2 of the clickLoc into SY
  3300.   if lineStyle is "wavy"
  3301.   then
  3302.   put 1 into line NextLine of field "LineSpecs"
  3303.   put 2*(round(SX/2)) into SX
  3304.   put 2*(round(SY/2)) into SY
  3305. else if LineStyle is "Dotted"
  3306. then
  3307. put 3 into line NextLine of field "LineSpecs"
  3308. else
  3309.   put 0 into line NextLine of field "LineSpecs"
  3310. end if
  3311. put space & tip after line NextLine of field "LineSpecs"
  3312. add 1 to lineFlag
  3313. end getpoint1
  3314.  
  3315. on getPoint2
  3316.   global lineStyle, lineFlag, SX, SY, Speed, NextLine, Mode
  3317.   put 0 into lineFlag
  3318.   put item 1 of the clickLoc into FX
  3319.   put item 2 of the clickLoc into FY
  3320.   if lineStyle is "Wavy"
  3321.   then
  3322.   put 2*(round(FX/2)) into FX
  3323.   put 2*(round(FY/2)) into FY
  3324. end if
  3325. if abs(SX-FX) <= abs(SY-FY)
  3326. then --vertical
  3327. put min(SX,FX) into SX
  3328. put min(SX,FX) into FX
  3329. if lineStyle is "Dotted"
  3330. then
  3331. put 4 into word 1 of line NextLine of field "LineSpecs"
  3332. end if
  3333. else --horizontal
  3334.   put min(SY,FY) into SY
  3335.   put min(SY,FY) into FY
  3336.   if lineStyle is "Dotted"
  3337.   then
  3338.   put 3 into word 1 of line NextLine of field "LineSpecs"
  3339. end if
  3340. end if
  3341. put " " & SX && SY && FX && FY & "," after line NextLine of field "LineSpecs"
  3342. put 2000 into Speed
  3343. GetLines
  3344. put 100 into Speed
  3345. put empty into Mode
  3346. end getPoint2
  3347.  
  3348.  
  3349. function list wordstring
  3350. put word 1 of wordstring into newlist
  3351. repeat with i = 2 to the number of words in wordstring
  3352.   put "," & word i of wordstring after newlist
  3353. end repeat
  3354. return newlist
  3355. end list
  3356.  
  3357. on GetLines
  3358.   global NextLine, Specs
  3359.   put line NextLine of field "lineSpecs" into LineList
  3360.   --each item gives specifications for another line
  3361.   --in each item:
  3362.   --word 1: 0 for straight line, 1 for wavy
  3363.   --        2 for white (erase), 3 for dotted
  3364.   --word 2: 0 for line only, 1 for arrow
  3365.   --remaining words (in pairs): coordinates of segment endpoints
  3366.   repeat with i = 1 to the number of items in LineList
  3367.     put List(item i of LineList) into Specs    --converts words to items
  3368.     DrawLine
  3369.   end repeat
  3370. end GetLines
  3371.  
  3372. on DrawLine
  3373.   global Speed, lineWidth, Start, Specs
  3374.   choose line tool
  3375.   put item 3 to 4 of Specs into Start
  3376.   put item 5 to 6 of specs into Finish
  3377.   if item 2 of Specs is 1
  3378.   then
  3379.   DrawArrowHead Specs
  3380. end if
  3381. set lineSize to lineWidth
  3382. set the dragSpeed to Speed
  3383. if item 1 of Specs is 1 then        --wavy line
  3384.   set pattern to 7
  3385. else if item 1 of Specs is 2 then   --white line (erase)
  3386.   set pattern to 1
  3387. else if item 1 of Specs is 3 then   --horizontal dotted line
  3388.   set pattern to 37
  3389. else if item 1 of Specs is 4 then   --vertical dotted line
  3390.   set pattern to 38
  3391. else                                --solid line; item 1 is 0
  3392.   set pattern to 12
  3393. end if
  3394. unlock screen
  3395. drag from Start to Finish with optionKey  --draw first line segment
  3396. delete item 1 to 4 of Specs
  3397. repeat until the number of items in Specs <= 2
  3398.   put item 1 to 2 of Specs into Start
  3399.   put item 3 to 4 of Specs into Finish
  3400.   drag from start to finish with optionKey
  3401.   delete item 1 to 2 of Specs
  3402. end repeat
  3403. choose browse tool
  3404. end DrawLine
  3405.  
  3406. on DrawArrowHead wanted
  3407.   global Start
  3408.   put Start into Tip
  3409.   put 8 into trim                       --used to correct Start of shaft
  3410.   put item 3 of wanted into TX
  3411.   put item 4 of wanted into TY
  3412.   put item 5 of wanted into SX
  3413.   put item 6 of wanted into SY
  3414.   if SX < TX       --point right
  3415.   then
  3416.   put ((TX - 6)&","&(TY - 6)) into LeftBarb
  3417.   put ((TX - 6)&","&(TY + 6)) into RightBarb
  3418.   put TX - trim into item 1 of Start
  3419. else
  3420.   if TX < SX     --point left
  3421.   then
  3422.   put ((TX + 6)&","&(TY - 6)) into LeftBarb
  3423.   put ((TX + 6)&","&(TY + 6)) into RightBarb
  3424.   put TX + trim into item 1 of Start
  3425. else
  3426.   if TY < SY    --point up
  3427.   then
  3428.   put ((TX - 6)&","&(TY + 6)) into LeftBarb
  3429.   put ((TX + 6)&","&(TY + 6)) into RightBarb
  3430.   Put TY + trim into item 2 of Start
  3431. else          --point down
  3432.   put ((TX - 6)&","&(TY - 6)) into LeftBarb
  3433.   put ((TX + 6)&","&(TY - 6)) into RightBarb
  3434.   put TY - trim into item 2 of Start
  3435. end if
  3436. end if
  3437. end if
  3438. set the lineSize to 1
  3439. set the dragspeed to 2000
  3440. drag from LeftBarb to Tip
  3441. drag from Tip to RightBarb
  3442. drag from RightBarb to LeftBarb
  3443. choose bucket tool
  3444. set the pattern to 12
  3445. put round(((item 1 of tip)+(item 1 of start))/2) into X
  3446. put round(((item 2 of tip)+(item 2 of start))/2) into Y
  3447. click at X,Y
  3448. choose line tool
  3449. set the lineSize to 3
  3450. end DrawArrowHead
  3451.  
  3452. on ConnectFields
  3453.   global Rect1, Rect2, lineWidth, Specs
  3454.   put the id of the target into wanted
  3455.   requestPatience
  3456.   if (item 1 of Rect1) - (item 3 of Rect2) > 17  then
  3457.     put Rect2 into temp
  3458.     put Rect1 into Rect2
  3459.     put temp into Rect1
  3460.   end if
  3461.   if (item 2 of Rect1) - (item 4 of Rect2) > 17  then
  3462.     put Rect2 into temp
  3463.     put Rect1 into Rect2
  3464.     put temp into Rect1
  3465.   end if
  3466.   put item 1 of Rect1 into Lft1
  3467.   put item 2 of Rect1 into Top1
  3468.   put item 3 of Rect1 into Rit1
  3469.   put item 4 of Rect1 into Bot1
  3470.   put item 1 of Rect2 into Lft2
  3471.   put item 2 of Rect2 into Top2
  3472.   put item 3 of Rect2 into Rit2
  3473.   put item 4 of Rect2 into Bot2
  3474.   put 2 into item 1 of specs --initially, draw white line (i.e. erase)
  3475.   put 0 into item 2 of specs --no arrowhead
  3476.   if Top2 - Bot1 > 17 then
  3477.     put round(average(Lft1,Rit1)) into X1
  3478.     put Bot1 into Y1
  3479.     put X1 into X2
  3480.     put round(average(Bot1,Top2)) into Y2
  3481.     put round(average(Lft2,Rit2)) into X3
  3482.     put Y2 into Y3
  3483.     put X3 into X4
  3484.     put Top2 into Y4
  3485.     if abs(X1 - X4) < 10
  3486.     then
  3487.     put X1 into X2
  3488.     put X1 into X3
  3489.     put X1 into X4
  3490.   end if
  3491. else if Lft2 - Rit1 > 17 then
  3492.   put Rit1 into X1
  3493.   put round(average(Top1,Bot1)) into Y1
  3494.   put round(average(Rit1,Lft2)) into X2
  3495.   put Y1 into Y2
  3496.   put X2 into X3
  3497.   put round(average(Bot2,Top2)) into Y3
  3498.   put Lft2 into X4
  3499.   put Y3 into Y4
  3500.   if abs(Y1 - Y4) < 10
  3501.   then
  3502.   put Y1 into Y2
  3503.   put Y1 into Y3
  3504.   put Y1 into Y4
  3505. end if
  3506. else
  3507.   answer "Can't connect such close fields."
  3508.   exit connectFields
  3509. end if
  3510. put X1 into item 3  of Specs
  3511. put Y1 into item 4  of Specs
  3512. put X2 into item 5  of Specs
  3513. put Y2 into item 6  of Specs
  3514. put X3 into item 7  of Specs
  3515. put Y3 into item 8  of Specs
  3516. put X4 into item 9  of specs
  3517. put Y4 into item 10 of Specs
  3518. put 6 into lineWidth
  3519. put specs into temp
  3520. DrawLine        --draw wide white line (i.e. erase)
  3521. put temp into Specs
  3522. put 0 into item 1 of Specs
  3523. put 4 into LineWidth
  3524. Drawline        --draw narrower black line
  3525. put 3 into lineWidth   --restore to standard width for lines
  3526. end ConnectFields
  3527.  
  3528. on ClearCard except
  3529.   global CardButtons, CardFields
  3530.   put empty into CardButtons
  3531.   repeat with i = 1 to the number of buttons
  3532.     if the id of button i is not item 1 of Except
  3533.     --(line 2 of field "GraphArea", if anything)
  3534.     then
  3535.     if the visible of button i is true then
  3536.       put the id of button i into item i of CardButtons
  3537.     end if
  3538.   end if
  3539.   hide button i
  3540. end repeat
  3541. put empty into CardFields
  3542. repeat with i = 1 to the number of card fields
  3543.   if the id of card field i is not item 2 of Except
  3544.   --(line 1 of field "GraphArea")
  3545.   then
  3546.   if the visible of card field i is true then
  3547.     put the id of card field i into item i of CardFields
  3548.   end if
  3549. end if
  3550. hide card field i
  3551. end repeat
  3552. hide card picture
  3553. end ClearCard
  3554.  
  3555. on RestoreCard
  3556.   global CardButtons, CardFields
  3557.   show card picture
  3558.   repeat with i = 1 to the number of items of CardFields
  3559.     if item i of CardFields is not empty
  3560.     then show card field id (item i of CardFields)
  3561.   end repeat
  3562.   repeat with i = 1 to the number of items of CardButtons
  3563.     if item i of CardButtons is not empty
  3564.     then show button id (item i of CardButtons)
  3565.   end repeat
  3566. end RestoreCard
  3567.  
  3568. on MakeGraph
  3569.   global Mode, XCoords, YCoords,XChanged, YChanged
  3570.   put "Graph" into Mode
  3571.   put false into XChanged
  3572.   put false into YChanged
  3573.   put line 2 of field "GraphArea" into item 1 of Except
  3574.   put line 1 of field "GraphArea" into item 2 of Except
  3575.   ClearCard Except
  3576.   Show background button id 202 --X
  3577.   Show background button id 203 --Y
  3578.   Show field "XValues"
  3579.   put field "XValues" into XCoords
  3580.   Show field "YValues"
  3581.   put field "YValues" into YCoords
  3582.   ShowGraphInstructions
  3583.   Show background button id 154 --"Values OK"
  3584.   Show background button id 149 --"No Change"
  3585.   Show background button id 150 --"Delete Graph"
  3586.   set the locktext of field "XValues" to false
  3587.   set the locktext of field "YValues" to false
  3588.   select after line 1 of field "XValues"
  3589. end MakeGraph
  3590.  
  3591. on ShowGraphInstructions
  3592.   Show field "GraphEntry" --(to hold Instructions)
  3593.   put return & "Enter X and Y numerical values" & return into contents
  3594.   put "in the columns at the left." & return & return after contents
  3595.   put "X values should be in ascending" & return after contents
  3596.   put "or descending order." & return & return after contents
  3597.   put "If X column is left empty," & return after contents
  3598.   put "equal unlabelled intervals" & return after contents
  3599.   put "will be assumed." & return & return after contents
  3600.   put "For pie graphs, use Y column only." after contents
  3601.   put contents into field "GraphEntry"
  3602. end ShowGraphInstructions
  3603.  
  3604. on DefineArea
  3605.   global Mode, XCoords, YCoords, XChanged, YChanged
  3606.   HideGraphStarters
  3607.   RestoreCard
  3608.   if Mode is "NoGraph" then
  3609.     put empty into field "XValues"
  3610.     put empty into field "YValues"
  3611.     put empty into Mode
  3612.     put empty into line 3 of field "GraphArea" --records Mode
  3613.     exit to HyperCard
  3614.   end if
  3615.   if XCoords <> field "XValues" then
  3616.     put field "XValues" into XCoords
  3617.     put true into XChanged
  3618.   end if
  3619.   if YCoords <> field "YValues" then
  3620.     put field "YValues" into YCoords
  3621.     put true into YChanged
  3622.   end if
  3623.   ShowAreaSetters
  3624.   choose field tool
  3625.   select card field id (line 1 of field "GraphArea")
  3626. end DefineArea
  3627.  
  3628. on HideGraphStarters
  3629.   Hide background button id 150     --Delete Graph
  3630.   Hide background button id 149     --No Change
  3631.   Hide background button id 154     --ValuesOK
  3632.   Hide background button id 202     --X
  3633.   Hide field "XValues"
  3634.   Hide background button id 203     --Y
  3635.   Hide field "YValues"
  3636.   Hide field "GraphEntry"
  3637. end HideGraphStarters
  3638.  
  3639. on ShowAreaSetters
  3640.   global ObjectID
  3641.   requestPatience
  3642.   lock screen
  3643.   if field "GraphArea" is empty
  3644.   then
  3645.   CreateField 155  --GraphArea
  3646.   put ObjectID into line 1 of field "GraphArea"
  3647.   Put return & return & "Adjust the size and location of this field " & "to the size and location desired for your graph." & return&return & "Allow some room at left and bottom for labels." & return&return & "Then restore browse tool " & return & "and click " & quote & "Area OK" & quote & "." into card field id (line 1 of field "GraphArea")
  3648.   CreateButton 156 --Area Okay
  3649.   put ObjectID into line 2 of field "GraphArea"
  3650. else
  3651.   show card field id (line 1 of field "GraphArea")
  3652.   if the short name of card field (the number of card fields) is not "GraphArea" or the id of button (the number of buttons) > (line 1 of field "GraphArea") then
  3653.     select card field id (line 1 of field "GraphArea")
  3654.     type "+" with Shiftkey,CommandKey
  3655.   end if
  3656.   show button id (line 2 of field "GraphArea")
  3657.   if the short name of button (the number of buttons) is not "Area OK" or the id of card field (the number of card fields) > (line 2 of field "GraphArea") then
  3658.     select button id (line 2 of field "GraphArea")
  3659.     type "+" with Shiftkey,CommandKey
  3660.   end if
  3661.   choose browse tool
  3662. end if
  3663. put empty into msg
  3664. hide msg
  3665. unlock screen
  3666. end ShowAreaSetters
  3667.  
  3668. on GetGraphLabels
  3669.   global XCoords
  3670.   Hide card field id (line 1 of field "GraphArea") --GraphArea
  3671.   Hide button id (line 2 of field "GraphArea") -- Area Okay
  3672.   PresetLabelParams
  3673.   put line 2 of field "GraphArea" into item 1 of Except
  3674.   put line 1 of field "GraphArea" into item 2 of Except
  3675.   ClearCard Except
  3676.   ShowLabelTable
  3677.   if XCoords is empty then select line 1 of field "YMax"
  3678.   else select line 1 of field "XMax"
  3679. end GetGraphLabels
  3680.  
  3681. on PresetLabelParams
  3682.   global XCoords, YCoords, MaxX, MaxY, MinX, MinY, IntX, IntY
  3683.   put list(field "XValues") into XCoords
  3684.   put list(field "YValues") into YCoords
  3685.   put max(XCoords) into MaxX
  3686.   put min(XCoords) into MinX
  3687.   put max(YCoords) into MaxY
  3688.   put min(YCoords) into MinY
  3689.   if 0 < MinX and 2*MinX < MaxX then put 0 into MinX
  3690.   if 0 < MinY and 2*MinY < MaxY then put 0 into MinY
  3691.   HandleEmptyX
  3692.   put round((MaxX - MinX)/10) into IntX
  3693.   put round((MaxY - MinY)/10) into IntY
  3694.   if IntX = 0 then put 1 into IntX
  3695.   if IntY = 0 then put 1 into IntY
  3696. end PresetLabelParams
  3697.  
  3698. on HandleEmptyX
  3699.   global XCoords, MaxX, MinX, IntX, MaxY, MinY, IntY, XChanged
  3700.   if MinX = 0 and MaxX = 0
  3701.   then
  3702.   put empty into XCoords
  3703.   put empty into field "XValues"
  3704.   put "AUTO" into field "XMax"
  3705.   set the lockText of field "XMax" to true
  3706.   put "AUTO" into field "XMin"
  3707.   set the lockText of field "XMin" to true
  3708.   put "AUTO" into field "XInt"
  3709.   set the lockText of field "XInt" to true
  3710.   put "UNLABELLED" into field "XLabel"
  3711.   set the lockText of field "XLabel" to true
  3712.   put false into XChanged
  3713. else
  3714.   if MinX = MaxX then put Min(0,(MinX-1)) into MinX
  3715.   if MinY = MaxY then put Min(0,(MinY-1)) into MinY
  3716.   set the lockText of field "XMax" to false
  3717.   if "AUTO" is in field "XMax" then put MaxX into field "XMax"
  3718.   set the lockText of field "XMin" to false
  3719.   if "AUTO" is in field "XMin" then put MinX into field "XMin"
  3720.   set the lockText of field "XInt" to false
  3721.   if "AUTO" is in field "XInt" then put IntX into field "XInt"
  3722.   set the lockText of field "XLabel" to false
  3723.   if "UNLABELLED" is in field "XLabel" then put empty into field "XLabel"
  3724. end if
  3725. end HandleEmptyX
  3726.  
  3727. on ShowLabelTable
  3728.   global MaxX, MaxY, MinX, MinY, IntX, IntY, XChanged, YChanged
  3729.   show background button id 186 --Coordinate Axes
  3730.   show background button id 187 --X Axis
  3731.   show background button id 188 --Y Axis
  3732.   show background button id 190 --Maximum X
  3733.   show background button id 191 --Maximum Y
  3734.   if XChanged then put MaxX into field "XMax"
  3735.   show field "XMax"
  3736.   if YChanged then put MaxY into field "YMax"
  3737.   show field "YMax"
  3738.   show background button id 196 --Minimum X
  3739.   show background button id 197 --Minimum Y
  3740.   if XChanged then put MinX into field "XMin"
  3741.   show field "XMin"
  3742.   if YChanged then put MinY into field "YMin"
  3743.   show field "YMin"
  3744.   show background button id 193 --X Interval
  3745.   show background button id 194 --Y Interval
  3746.   if XChanged then put IntX into field "XInt"
  3747.   show field "XInt"
  3748.   if YChanged then put IntY into field "YInt"
  3749.   show field "YInt"
  3750.   show background button id 227 --X Unit Label
  3751.   show background button id 228 --Y Unit Label
  3752.   if field "XLabel" is empty then put "MONTHS?" into field "XLabel"
  3753.   show field "XLabel"
  3754.   if field "YLabel" is empty then put "DOLLARS?" into field "YLabel"
  3755.   show field "YLabel"
  3756.   show background button id 226 --Axes Okay
  3757.   show background button id 201 --Abort Graph
  3758. end ShowLabelTable
  3759.  
  3760. on RecordGraphType
  3761.   global Mode
  3762.   put mode into line 3 of field "GraphArea" --record type of graph
  3763.   hide background button "Line Graph"
  3764.   hide background button "Bar Graph"
  3765.   hide background button "Plot Graph"
  3766.   hide background button "Pie Graph"
  3767.   hide field "RequestGraphType"
  3768.   RestoreCard
  3769.   put empty into mode
  3770.   DrawGraph
  3771. end RecordGraphType
  3772.  
  3773.  
  3774. on drawGraph
  3775.   global XCoords, YCoords, ObjectID, Mode
  3776.   put list(field "XValues") into XCoords
  3777.   put list(field "YValues") into YCoords
  3778.   put line 3 of field "GraphArea" into Mode
  3779.   if Mode is empty then exit to HyperCard
  3780.   if mode is "Line" then DrawLineGraph
  3781.   else if mode is "Bar" then DrawBarGraph
  3782.   else if mode is "Plot" then DrawPlotGraph
  3783.   else if mode is "Pie" then DrawPieGraph
  3784. end DrawGraph
  3785.  
  3786. on DrawLineGraph
  3787.   global XCoords, YCoords, XMax, XMin, YMax, YMin, GLeft, GRight, GTop, GBottom, Mode
  3788.   DrawFrame
  3789.   choose line tool
  3790.   put (GRight - GLeft)/(XMax - XMin) into XScale
  3791.   put (GBottom - GTop)/(YMax - YMin) into YScale
  3792.   if XCoords is empty then put 1 into X1
  3793.   else put item 1 of XCoords into X1
  3794.   if X1 is empty then put 0 into X1
  3795.   put GLeft + round((X1 - XMin)*XScale) into X1
  3796.   put item 1 of YCoords into Y1
  3797.   if Y1 is empty then put 0 into Y1
  3798.   put GBottom - round((Y1 - YMin)*YScale) into Y1
  3799.   repeat with i = 2 to the number of items in YCoords
  3800.     if XCoords is empty then put i into X2
  3801.     else put item i of XCoords into X2
  3802.     if X2 is empty then put 0 into X2
  3803.     put GLeft + round((X2 - XMin)*XScale) into X2
  3804.     put item i of YCoords into Y2
  3805.     if Y2 is empty then put 0 into Y2
  3806.     put GBottom - round((Y2 - YMin)*YScale) into Y2
  3807.     drag from X1,Y1 to X2,Y2
  3808.     put X2 into X1
  3809.     put Y2 into Y1
  3810.   end repeat
  3811.   choose browse tool
  3812.   put empty into Mode
  3813. end DrawLineGraph
  3814.  
  3815. on DrawFrame
  3816.   global GLeft, GRight, GTop, GBottom
  3817.   GetFrameGlobals
  3818.   choose line tool
  3819.   set lineSize to 3
  3820.   drag from (GLeft),(GTop) to (GLeft),(GBottom)     --Y Axis
  3821.   drag from (GLeft),(GBottom) to (GRight),(GBottom) --X Axis
  3822.   SetYTicks
  3823.   SetYLabel
  3824.   SetXTicks
  3825.   SetXLabel
  3826. end DrawFrame
  3827.  
  3828. on GetFrameGlobals
  3829.   global XCoords, YCoords, XMax, XMin, XInt, YMax, YMin, YInt, GLeft, GRight, GTop, GBottom
  3830.   put line 1 of field "GraphArea" into GraphArea
  3831.   put the Top of card field id GraphArea into GTop
  3832.   put the Bottom of card field id GraphArea into GBottom
  3833.   put the Left of card field id GraphArea into GLeft
  3834.   put the Right of card field id GraphArea into GRight
  3835.   put GLeft - GRight into XScale
  3836.   put GTop - GBottom into YScale
  3837.   if XCoords is empty
  3838.   then
  3839.   put 1 + (the number of items of YCoords) into XMax
  3840.   put 1 into XInt
  3841.   put 0 into XMin
  3842. else
  3843.   put field "XMax" into XMax
  3844.   put field "XInt" into XInt
  3845.   put field "XMin" into XMin
  3846. end if
  3847. put field "YMax" into YMax
  3848. put field "YInt" into YInt
  3849. put field "YMin" into YMin
  3850. end GetFrameGlobals
  3851.  
  3852. on SetYTicks
  3853.   global YMax, YMin, YInt, GLeft, GTop, GBottom, XSpot, YSpot
  3854.   choose text tool
  3855.   set the textFont to "Geneva"
  3856.   set the textSize to 12
  3857.   set the textAlign to "right"
  3858.   set the textStyle to plain
  3859.   put GLeft - 2 into XSpot
  3860.   put (YMax - YMin)/YInt into YIntervals
  3861.   repeat with i = 1 to trunc(YIntervals)
  3862.     put (GBottom - round(i*(GBottom - GTop)/YIntervals)) + 5 into YSpot
  3863.     click at XSpot,YSpot
  3864.     type (YMin + (i*YInt))
  3865.     type " ΓÇö"
  3866.   end repeat
  3867.   choose browse tool  --to protect material just typed
  3868. end SetYTicks
  3869.  
  3870. on SetYLabel
  3871.   global XSpot, YSpot
  3872.   choose text tool
  3873.   subtract (28 + 8*(length of field "YMax")) from XSpot
  3874.   --compensating for number of digits in widest label
  3875.   set the textAlign to center
  3876.   click at XSpot,Yspot
  3877.   repeat with i = 1 to the length of field "YLabel"
  3878.     type return & (char i of field "YLabel")
  3879.   end repeat
  3880.   choose browse tool --protects material just typed
  3881. end SetYLabel
  3882.  
  3883. on SetXTicks
  3884.   global XCoords, XMax, XMin, XInt, GLeft, GRight, GBottom, XSpot, YSpot
  3885.   put GBottom + 14 into YSpot
  3886.   if XCoords is not empty then choose text tool
  3887.   put (XMax - XMin)/XInt into XIntervals
  3888.   repeat with i = 1 to trunc(XIntervals)
  3889.     put (GLeft + round(i*(GRight - GLeft)/XIntervals)) into XSpot
  3890.     if XCoords is not empty
  3891.     then
  3892.     click at XSpot,YSpot
  3893.     type "|" & return
  3894.     type (XMin + (i*XInt))
  3895.   end if
  3896. end repeat
  3897. if XCoords is not empty then choose browse tool  --protects material
  3898. end SetXTicks
  3899.  
  3900. on SetXLabel
  3901.   global XCoords, XSpot, YSpot
  3902.   if "UNLABELLED" is not in field "XLabel" then
  3903.     choose text tool
  3904.     set the textalign to right
  3905.   end if
  3906.   if XCoords is not empty then add 30 to YSpot
  3907.   if "UNLABELLED" is not in field "XLabel" then
  3908.     click at XSpot, YSpot
  3909.     type field "XLabel"
  3910.     choose browse tool
  3911.     --protects material just typed
  3912.   end if
  3913. end SetXLabel
  3914.  
  3915. on DrawBarGraph
  3916.   global XCoords, YCoords, XMax, XMin, YMax, YMin, GLeft, GRight, GTop, GBottom, Mode
  3917.   DrawFrame
  3918.   choose line tool
  3919.   put (GRight - GLeft)/(XMax - XMin) into XScale
  3920.   put (GBottom - GTop)/(YMax - YMin) into YScale
  3921.   if XCoords is empty then put 1 into X1
  3922.   else put item 1 of XCoords into X1
  3923.   if X1 is empty then put 0 into X1
  3924.   put GLeft + round((X1 - XMin)*XScale) into X1
  3925.   put item 1 of YCoords into Y1
  3926.   if Y1 is empty then put 0 into Y1
  3927.   put GBottom - round((Y1 - YMin)*YScale) into Y1
  3928.   set lineSize to 8
  3929.   if Y1 <= (GBottom - 6) then drag from X1,(GBottom - 6) to X1,Y1
  3930.   else if Y1 >= (GBottom + 6) then drag from X1,(GBottom + 6) to X1,Y1
  3931.   set the pattern to 1 --white
  3932.   click at X1,(Y1-3) with optionKey  --clip off excess at top
  3933.   set the pattern to 12 --black again
  3934.   repeat with i = 2 to the number of items in YCoords
  3935.     if XCoords is empty then put i into X2
  3936.     else put item i of XCoords into X2
  3937.     if X2 is empty then put 0 into X2
  3938.     put GLeft + round((X2 - XMin)*XScale) into X2
  3939.     put item i of YCoords into Y2
  3940.     if Y2 is empty then put 0 into Y2
  3941.     put GBottom - round((Y2 - YMin)*YScale) into Y2
  3942.     if Y2 <= (GBottom - 6) then drag from X2,(GBottom - 6) to X2,Y2
  3943.     else if Y2 >= (GBottom + 6) then drag from X2,(GBottom + 6) to X2,Y2
  3944.     set the pattern to 1 --white
  3945.     click at X2,(Y2-3) with optionKey  --clip off excess at top
  3946.     set the pattern to 12 --black again
  3947.   end repeat
  3948.   choose browse tool
  3949.   put empty into Mode
  3950. end DrawBarGraph
  3951.  
  3952. on DrawPlotGraph
  3953.   global XCoords, YCoords, XMax, XMin, YMax, YMin, GLeft, GRight, GTop, GBottom, Mode
  3954.   DrawFrame
  3955.   choose brush tool
  3956.   put (GRight - GLeft)/(XMax - XMin) into XScale
  3957.   put (GBottom - GTop)/(YMax - YMin) into YScale
  3958.   if XCoords is empty then put 1 into X1
  3959.   else put item 1 of XCoords into X1
  3960.   if X1 is empty then put 0 into X1
  3961.   put GLeft + round((X1 - XMin)*XScale) into X1
  3962.   put item 1 of YCoords into Y1
  3963.   if Y1 is empty then put 0 into Y1
  3964.   put GBottom - round((Y1 - YMin)*YScale) into Y1
  3965.   click at X1,Y1
  3966.   repeat with i = 2 to the number of items in YCoords
  3967.     if XCoords is empty then put i into X2
  3968.     else put item i of XCoords into X2
  3969.     if X2 is empty then put 0 into X2
  3970.     put GLeft + round((X2 - XMin)*XScale) into X2
  3971.     put item i of YCoords into Y2
  3972.     if Y2 is empty then put 0 into Y2
  3973.     put GBottom - round((Y2 - YMin)*YScale) into Y2
  3974.     click at X2,Y2
  3975.   end repeat
  3976.   choose browse tool
  3977.   put empty into Mode
  3978. end DrawPlotGraph
  3979.  
  3980. on drawPieGraph
  3981.   global Xo, Yo, Center, Radius, Percents, Mode
  3982.   set lineSize to 1
  3983.   put line 1 of field "GraphArea" into GraphArea
  3984.   put the Top of card field id GraphArea into GTop
  3985.   put the Bottom of card field id GraphArea into GBottom
  3986.   put the Left of card field id GraphArea into GLeft
  3987.   put the Right of card field id GraphArea into GRight
  3988.   put round(min((GBottom-GTop),(GRight-GLeft))/2) into Radius
  3989.   put the location of card field id GraphArea into Center
  3990.   put item 1 of Center into Xo
  3991.   put item 2 of Center into Yo
  3992.   put 0 into percentage
  3993.   put 0 into total
  3994.   repeat with i = 1 to the number of lines in field "YValues"
  3995.     put item 1 of line i of field "YValues" into amount
  3996.     if amount is not 0
  3997.     then
  3998.     add amount to total
  3999.     if i is not 1 then put "," after amounts
  4000.     put amount after amounts
  4001.   end if
  4002. end repeat
  4003. put empty into percents
  4004. repeat with i = 1 to the number of items in amounts
  4005.   put (item i of amounts)/total into item i of percents
  4006. end repeat
  4007. set pattern to 12
  4008. set lineSize to 1
  4009. DrawCircle
  4010. set lineSize to  4
  4011. DrawRays
  4012. set pattern to 1
  4013. set lineSize to  2
  4014. DrawRays
  4015. add 2 to radius
  4016. set lineSize to 3
  4017. DrawCircle
  4018. ShadePie
  4019. choose Text tool
  4020. set the textFont to "Geneva"
  4021. set the textSize to 12
  4022. set the textAlign to "center"
  4023. set the textStyle to plain
  4024. put round(Yo + radius + 28) into Yo
  4025. click at Xo,Yo
  4026. type field "YLabel"
  4027. choose browse tool
  4028. put empty into Mode
  4029. end DrawPieGraph
  4030.  
  4031. on DrawCircle
  4032.   global Xo, Yo, radius
  4033.   choose oval tool
  4034.   set centered to true
  4035.   drag from Xo,Yo to (Xo+radius),(Yo+radius) with optionKey
  4036.   set Centered to false
  4037. end DrawCircle
  4038.  
  4039. on DrawRays
  4040.   global Xo,Yo, radius, percents
  4041.   put 0 into percentage
  4042.   put radius*sin(0) into Y
  4043.   put radius*cos(0) into X
  4044.   drag from Xo,Yo to round(Xo+X),round(Yo+Y) with optionkey
  4045.   put the number of items in percents into final
  4046.   drag from Xo,Yo to round(Xo+X),round(Yo+Y) with optionkey
  4047.   repeat with i = 1 to final
  4048.     add 2*(item i of percents) to percentage
  4049.     put radius*sin(percentage*pi) into Y
  4050.     put radius*cos(percentage*pi) into X
  4051.     choose line tool
  4052.     drag from Xo,Yo to round(Xo+X),round(Yo+Y) with optionKey
  4053.   end repeat
  4054. end DrawRays
  4055.  
  4056. on ShadePie
  4057.   global Xo,Yo, radius, percents
  4058.   put .9*radius into radius
  4059.   put 0 into percentage
  4060.   put 2 into patternNumber
  4061.   choose bucket tool
  4062.   put the number of items in percents into final
  4063.   repeat with i = 1 to final
  4064.     put item i of percents into percent
  4065.     put (percentage + (percent))*pi into clickAngle
  4066.     add 2*(percent) to percentage
  4067.     add 1 to patternNumber
  4068.     set the pattern to PatternNumber
  4069.     put round(Yo+(Radius*sin(clickAngle))) into Y
  4070.     put round(Xo+(Radius*cos(clickAngle))) into X
  4071.     if percent*radius > 1 then click at X,Y
  4072.   end repeat
  4073.   set the pattern to 12
  4074. end ShadePie
  4075.  
  4076. on ShadowField
  4077.   global Frame
  4078.   requestPatience
  4079.   put (3 + item 3 of Frame) & "," & (8 + item 2 of Frame) into start
  4080.   put (3 + item 3 of Frame) & "," & (3 + item 4 of Frame) into corner
  4081.   put (8 + item 1 of Frame) & "," & (3 + item 4 of Frame) into finish
  4082.   choose brush tool
  4083.   set brush to 3
  4084.   set pattern to 12
  4085.   drag from start to corner
  4086.   drag from corner to finish
  4087.   choose browse tool
  4088. end ShadowField
  4089.  
  4090. on BorderField
  4091.   global Frame
  4092.   set lineSize to 4
  4093.   choose rectangle tool
  4094.   put 4 + (item 3 of Frame) & "," & 4 + (item 4 of Frame) into start
  4095.   put (item 1 of Frame) - 4 & "," & (item 2 of Frame) - 4 into finish
  4096.   drag from start to finish
  4097. end BorderField
  4098.  
  4099.  
  4100.  
  4101.  
  4102.  
  4103. -- part 244 (field)
  4104. -- low flags: 80
  4105. -- high flags: 0004
  4106. -- rect: left=346 top=39 right=78 bottom=474
  4107. -- title width / last selected line: 0
  4108. -- icon id / first selected line: 0 / 0
  4109. -- text alignment: 65535
  4110. -- font id: 3
  4111. -- text size: 12
  4112. -- style flags: 0
  4113. -- line height: 16
  4114. -- part name: Bulger
  4115.  
  4116.  
  4117. -- part 249 (button)
  4118. -- low flags: 00
  4119. -- high flags: 2002
  4120. -- rect: left=319 top=320 right=338 bottom=343
  4121. -- title width / last selected line: 0
  4122. -- icon id / first selected line: 23880 / 23880
  4123. -- text alignment: 1
  4124. -- font id: 0
  4125. -- text size: 12
  4126. -- style flags: 0
  4127. -- line height: 16
  4128. -- part name: CreateShimmerField
  4129. ----- HyperTalk script -----
  4130. on mouseUp
  4131.   if the optionKey is up then CreateField 205
  4132.   else GiveHelp "ShimmerField┬á"
  4133. end mouseUp
  4134.  
  4135. on mouseDown
  4136. end mouseDown
  4137.  
  4138.  
  4139. -- part 250 (button)
  4140. -- low flags: 00
  4141. -- high flags: 2002
  4142. -- rect: left=343 top=320 right=338 bottom=367
  4143. -- title width / last selected line: 0
  4144. -- icon id / first selected line: 22584 / 22584
  4145. -- text alignment: 1
  4146. -- font id: 0
  4147. -- text size: 12
  4148. -- style flags: 0
  4149. -- line height: 16
  4150. -- part name: CreateBulger
  4151. ----- HyperTalk script -----
  4152. on mouseUp
  4153.   if the optionKey is up then CreateField 244
  4154.   else GiveHelp "Bulger┬á"
  4155. end mouseUp
  4156.  
  4157. on mouseDown
  4158. end mouseDown
  4159.  
  4160.  
  4161. -- part 251 (button)
  4162. -- low flags: 00
  4163. -- high flags: 2002
  4164. -- rect: left=367 top=320 right=338 bottom=391
  4165. -- title width / last selected line: 0
  4166. -- icon id / first selected line: 32072 / 32072
  4167. -- text alignment: 1
  4168. -- font id: 0
  4169. -- text size: 12
  4170. -- style flags: 0
  4171. -- line height: 16
  4172. -- part name: MakeRectangleField
  4173. ----- HyperTalk script -----
  4174. on mouseUp
  4175.   if the optionKey is up then CreateField 137
  4176.   else GiveHelp "Rectangle┬á"
  4177. end mouseUp
  4178.  
  4179. on mouseDown
  4180. end mouseDown
  4181.  
  4182.  
  4183. -- part 252 (button)
  4184. -- low flags: 00
  4185. -- high flags: 2002
  4186. -- rect: left=391 top=320 right=338 bottom=415
  4187. -- title width / last selected line: 0
  4188. -- icon id / first selected line: 13637 / 13637
  4189. -- text alignment: 1
  4190. -- font id: 0
  4191. -- text size: 12
  4192. -- style flags: 0
  4193. -- line height: 16
  4194. -- part name: MakeScrolling
  4195. ----- HyperTalk script -----
  4196. on mouseUp
  4197.   if the optionKey is up then CreateField 141
  4198.   else GiveHelp "Scrolling┬á"
  4199. end mouseUp
  4200.  
  4201. on mouseDown
  4202. end mouseDown
  4203.  
  4204.  
  4205. -- part 253 (button)
  4206. -- low flags: 00
  4207. -- high flags: 2002
  4208. -- rect: left=415 top=320 right=338 bottom=439
  4209. -- title width / last selected line: 0
  4210. -- icon id / first selected line: 13636 / 13636
  4211. -- text alignment: 1
  4212. -- font id: 0
  4213. -- text size: 12
  4214. -- style flags: 0
  4215. -- line height: 16
  4216. -- part name: 
  4217. ----- HyperTalk script -----
  4218. on mouseUp
  4219.   if the optionKey is up then MakeTypeWriterField
  4220.   else GiveHelp "TypeWriterΓǪ"
  4221. end mouseUp
  4222.  
  4223. on mouseDown
  4224. end mouseDown
  4225.  
  4226.  
  4227. -- part 254 (button)
  4228. -- low flags: 00
  4229. -- high flags: 2002
  4230. -- rect: left=439 top=320 right=338 bottom=463
  4231. -- title width / last selected line: 0
  4232. -- icon id / first selected line: 28606 / 28606
  4233. -- text alignment: 1
  4234. -- font id: 0
  4235. -- text size: 12
  4236. -- style flags: 0
  4237. -- line height: 16
  4238. -- part name: 
  4239. ----- HyperTalk script -----
  4240. on mouseUp
  4241.   if the optionKey is up then MakeAutoScroll
  4242.   else GiveHelp "AutoScrollΓǪ"
  4243. end mouseUp
  4244.  
  4245. on mouseDown
  4246. end mouseDown
  4247.  
  4248.  
  4249. -- part 255 (button)
  4250. -- low flags: 80
  4251. -- high flags: 2002
  4252. -- rect: left=300 top=320 right=338 bottom=322
  4253. -- title width / last selected line: 0
  4254. -- icon id / first selected line: 1909 / 1909
  4255. -- text alignment: 1
  4256. -- font id: 0
  4257. -- text size: 12
  4258. -- style flags: 0
  4259. -- line height: 16
  4260. -- part name: MakeInverter
  4261. ----- HyperTalk script -----
  4262. on mouseUp
  4263.   if the optionKey is up then CreateButton 292
  4264.   else GiveHelp "Inverter┬á"
  4265. end mouseUp
  4266.  
  4267. on mouseDown
  4268. end MouseDown
  4269.  
  4270.  
  4271. -- part 256 (button)
  4272. -- low flags: 80
  4273. -- high flags: 2002
  4274. -- rect: left=322 top=320 right=338 bottom=344
  4275. -- title width / last selected line: 0
  4276. -- icon id / first selected line: 9560 / 9560
  4277. -- text alignment: 1
  4278. -- font id: 0
  4279. -- text size: 12
  4280. -- style flags: 0
  4281. -- line height: 16
  4282. -- part name: MakeGreyOut
  4283. ----- HyperTalk script -----
  4284. on mouseUp
  4285.   if the optionKey is up then CreateButton 139
  4286.   else GiveHelp "GreyOut┬á"
  4287. end mouseUp
  4288.  
  4289. on MouseDown
  4290. end MouseDown
  4291.  
  4292.  
  4293. -- part 257 (button)
  4294. -- low flags: 80
  4295. -- high flags: 2002
  4296. -- rect: left=416 top=320 right=338 bottom=438
  4297. -- title width / last selected line: 0
  4298. -- icon id / first selected line: 7619 / 7619
  4299. -- text alignment: 1
  4300. -- font id: 0
  4301. -- text size: 12
  4302. -- style flags: 0
  4303. -- line height: 16
  4304. -- part name: MakeStepper
  4305. ----- HyperTalk script -----
  4306. on mouseUp
  4307.   if the optionKey is up then CreateButton 140
  4308.   else GiveHelp "Stepper┬á"
  4309. end mouseUp
  4310.  
  4311. on MouseDown
  4312. end MouseDown
  4313.  
  4314.  
  4315. -- part 258 (button)
  4316. -- low flags: 80
  4317. -- high flags: 2002
  4318. -- rect: left=233 top=320 right=338 bottom=255
  4319. -- title width / last selected line: 0
  4320. -- icon id / first selected line: 15276 / 15276
  4321. -- text alignment: 1
  4322. -- font id: 0
  4323. -- text size: 12
  4324. -- style flags: 0
  4325. -- line height: 16
  4326. -- part name: WavyLine
  4327. ----- HyperTalk script -----
  4328. on mouseUp
  4329.   if the optionKey is up then MakeLine "Wavy"
  4330.   else GiveHelp "Wavy LineΓǪ"
  4331. end mouseUp
  4332.  
  4333. on MouseDown
  4334. end MouseDown
  4335.  
  4336.  
  4337. -- part 259 (button)
  4338. -- low flags: 80
  4339. -- high flags: 2002
  4340. -- rect: left=255 top=320 right=338 bottom=277
  4341. -- title width / last selected line: 0
  4342. -- icon id / first selected line: 10276 / 10276
  4343. -- text alignment: 1
  4344. -- font id: 0
  4345. -- text size: 12
  4346. -- style flags: 0
  4347. -- line height: 16
  4348. -- part name: DottedLines
  4349. ----- HyperTalk script -----
  4350. on mouseUp
  4351.   if the optionKey is up then MakeLine "Dotted"
  4352.   else GiveHelp "Dotted LineΓǪ"
  4353. end mouseUp
  4354.  
  4355. on mousedown
  4356. end mousedown
  4357.  
  4358.  
  4359. -- part 260 (button)
  4360. -- low flags: 80
  4361. -- high flags: 2002
  4362. -- rect: left=299 top=320 right=338 bottom=321
  4363. -- title width / last selected line: 0
  4364. -- icon id / first selected line: 2444 / 2444
  4365. -- text alignment: 1
  4366. -- font id: 0
  4367. -- text size: 12
  4368. -- style flags: 0
  4369. -- line height: 16
  4370. -- part name: WavyArrows
  4371. ----- HyperTalk script -----
  4372. on mouseUp
  4373.   if the optionKey is up then MakeArrow "Wavy"
  4374.   else GiveHelp "Wavy ArrowΓǪ"
  4375. end mouseUp
  4376.  
  4377. on mouseDown
  4378. end mouseDown
  4379.  
  4380.  
  4381.  
  4382. -- part 261 (button)
  4383. -- low flags: 80
  4384. -- high flags: 2002
  4385. -- rect: left=321 top=320 right=338 bottom=343
  4386. -- title width / last selected line: 0
  4387. -- icon id / first selected line: 11175 / 11175
  4388. -- text alignment: 1
  4389. -- font id: 0
  4390. -- text size: 12
  4391. -- style flags: 0
  4392. -- line height: 16
  4393. -- part name: DottedArrows
  4394. ----- HyperTalk script -----
  4395. on mouseUp
  4396.   if the optionKey is up then MakeArrow "Dotted"
  4397.   else GiveHelp "Dotted ArrowΓǪ"
  4398. end mouseUp
  4399.  
  4400. on mouseDown
  4401. end mouseDown
  4402.  
  4403.  
  4404.  
  4405. -- part 262 (button)
  4406. -- low flags: 80
  4407. -- high flags: 2002
  4408. -- rect: left=350 top=320 right=338 bottom=374
  4409. -- title width / last selected line: 0
  4410. -- icon id / first selected line: 26434 / 26434
  4411. -- text alignment: 1
  4412. -- font id: 0
  4413. -- text size: 12
  4414. -- style flags: 0
  4415. -- line height: 16
  4416. -- part name: BorderField
  4417. ----- HyperTalk script -----
  4418. on mouseUp
  4419.   if the optionKey is up then SetMode "BorderField"
  4420.   else GiveHelp "Border FieldΓǪ"
  4421. end mouseUp
  4422.  
  4423. on mouseDown
  4424. end mouseDown
  4425.  
  4426.  
  4427.  
  4428.  
  4429. -- part 263 (button)
  4430. -- low flags: 80
  4431. -- high flags: 2002
  4432. -- rect: left=374 top=320 right=338 bottom=398
  4433. -- title width / last selected line: 0
  4434. -- icon id / first selected line: 38 / 38
  4435. -- text alignment: 1
  4436. -- font id: 0
  4437. -- text size: 12
  4438. -- style flags: 0
  4439. -- line height: 16
  4440. -- part name: ShaddowField
  4441. ----- HyperTalk script -----
  4442. on mouseUp
  4443.   if the optionKey is up then SetMode "ShadowField"
  4444.   else GiveHelp "Shadow FieldΓǪ"
  4445. end mouseUp
  4446.  
  4447. on MouseDown
  4448. end MouseDown
  4449.  
  4450.  
  4451. -- part 264 (button)
  4452. -- low flags: 80
  4453. -- high flags: 2002
  4454. -- rect: left=398 top=320 right=338 bottom=422
  4455. -- title width / last selected line: 0
  4456. -- icon id / first selected line: 27249 / 27249
  4457. -- text alignment: 1
  4458. -- font id: 0
  4459. -- text size: 12
  4460. -- style flags: 0
  4461. -- line height: 16
  4462. -- part name: ConnectFields
  4463. ----- HyperTalk script -----
  4464. on mouseUp
  4465.   if the optionKey is up then SetMode "Connect1",2
  4466.   else GiveHelp "Connect FieldsΓǪ"
  4467. end mouseUp
  4468.  
  4469. on MouseDown
  4470. end MouseDown
  4471.  
  4472.  
  4473. -- part 265 (button)
  4474. -- low flags: 80
  4475. -- high flags: 2002
  4476. -- rect: left=422 top=320 right=338 bottom=446
  4477. -- title width / last selected line: 0
  4478. -- icon id / first selected line: 4994 / 4994
  4479. -- text alignment: 1
  4480. -- font id: 0
  4481. -- text size: 12
  4482. -- style flags: 0
  4483. -- line height: 16
  4484. -- part name: MakeGraph
  4485. ----- HyperTalk script -----
  4486. on mouseUp
  4487.   if the optionKey is up then send MakeGraph to field Scripts
  4488.   else GiveHelp "GraphΓǪ"
  4489. end mouseUp
  4490.  
  4491. on MouseDown
  4492. end MouseDown
  4493.  
  4494.  
  4495. -- part 266 (button)
  4496. -- low flags: 80
  4497. -- high flags: 0001
  4498. -- rect: left=426 top=254 right=292 bottom=433
  4499. -- title width / last selected line: 0
  4500. -- icon id / first selected line: 0 / 0
  4501. -- text alignment: 1
  4502. -- font id: 0
  4503. -- text size: 12
  4504. -- style flags: 0
  4505. -- line height: 16
  4506. -- part name: CursorCover
  4507. ----- HyperTalk script -----
  4508. on mouseUp
  4509. end mouseUp
  4510.  
  4511. on mousedown
  4512. end mousedown
  4513.  
  4514.  
  4515. -- part 270 (button)
  4516. -- low flags: 80
  4517. -- high flags: 0002
  4518. -- rect: left=0 top=286 right=303 bottom=13
  4519. -- title width / last selected line: 0
  4520. -- icon id / first selected line: 6723 / 6723
  4521. -- text alignment: 1
  4522. -- font id: 0
  4523. -- text size: 12
  4524. -- style flags: 0
  4525. -- line height: 16
  4526. -- part name: PopUp
  4527. ----- HyperTalk script -----
  4528. on mouseUp
  4529. end mouseUp
  4530.  
  4531. on mouseDown
  4532. end mouseDown
  4533.  
  4534.  
  4535. -- part 123 (button)
  4536. -- low flags: 80
  4537. -- high flags: 0000
  4538. -- rect: left=0 top=282 right=309 bottom=13
  4539. -- title width / last selected line: 0
  4540. -- icon id / first selected line: 0 / 0
  4541. -- text alignment: 1
  4542. -- font id: 0
  4543. -- text size: 12
  4544. -- style flags: 0
  4545. -- line height: 16
  4546. -- part name: PopItUp
  4547. ----- HyperTalk script -----
  4548. on mouseUp
  4549.   if the optionKey is down then
  4550.     GiveHelp "PopUp┬á"
  4551.   else pass mouseUp
  4552. end mouseUp
  4553.  
  4554. on mousedown
  4555.   if the optionKey is up then pass mouseDown
  4556. end mouseDown
  4557.  
  4558.  
  4559. -- part 271 (button)
  4560. -- low flags: 80
  4561. -- high flags: 2000
  4562. -- rect: left=0 top=158 right=191 bottom=13
  4563. -- title width / last selected line: 0
  4564. -- icon id / first selected line: 16560 / 16560
  4565. -- text alignment: 1
  4566. -- font id: 0
  4567. -- text size: 12
  4568. -- style flags: 0
  4569. -- line height: 16
  4570. -- part name: Link
  4571. ----- HyperTalk script -----
  4572. on mouseUp
  4573.   if the optionKey is down then GiveHelp "LinkΓǪ"
  4574.   else pass mouseUp
  4575. end mouseUp
  4576.  
  4577. on mousedown
  4578.   if the optionKey is up then pass mouseDown
  4579. end mouseDown
  4580.  
  4581.  
  4582. -- part 272 (button)
  4583. -- low flags: 80
  4584. -- high flags: 0002
  4585. -- rect: left=0 top=204 right=221 bottom=13
  4586. -- title width / last selected line: 0
  4587. -- icon id / first selected line: 942 / 942
  4588. -- text alignment: 1
  4589. -- font id: 0
  4590. -- text size: 12
  4591. -- style flags: 0
  4592. -- line height: 16
  4593. -- part name: Graph
  4594.  
  4595.  
  4596. -- part 273 (button)
  4597. -- low flags: 80
  4598. -- high flags: 0002
  4599. -- rect: left=0 top=246 right=263 bottom=13
  4600. -- title width / last selected line: 0
  4601. -- icon id / first selected line: 3893 / 3893
  4602. -- text alignment: 1
  4603. -- font id: 0
  4604. -- text size: 12
  4605. -- style flags: 0
  4606. -- line height: 16
  4607. -- part name: Draw
  4608.  
  4609.  
  4610. -- part 267 (button)
  4611. -- low flags: 80
  4612. -- high flags: 0000
  4613. -- rect: left=0 top=194 right=232 bottom=13
  4614. -- title width / last selected line: 0
  4615. -- icon id / first selected line: 0 / 0
  4616. -- text alignment: 1
  4617. -- font id: 0
  4618. -- text size: 12
  4619. -- style flags: 0
  4620. -- line height: 16
  4621. -- part name: Graph
  4622. ----- HyperTalk script -----
  4623. on mouseUp
  4624.   if the optionKey is down then GiveHelp "Draw Graph┬á"
  4625.   else pass mouseUp
  4626. end mouseUp
  4627.  
  4628. on mousedown
  4629.   if the optionKey is up then pass mouseDown
  4630. end mouseDown
  4631.  
  4632.  
  4633. -- part 277 (field)
  4634. -- low flags: 81
  4635. -- high flags: 2004
  4636. -- rect: left=114 top=41 right=298 bottom=390
  4637. -- title width / last selected line: 0
  4638. -- icon id / first selected line: 0 / 0
  4639. -- text alignment: 1
  4640. -- font id: 0
  4641. -- text size: 12
  4642. -- style flags: 0
  4643. -- line height: 16
  4644. -- part name: RequestGraphType
  4645.  
  4646.  
  4647. -- part 278 (button)
  4648. -- low flags: 80
  4649. -- high flags: 8004
  4650. -- rect: left=206 top=140 right=162 bottom=306
  4651. -- title width / last selected line: 0
  4652. -- icon id / first selected line: 0 / 0
  4653. -- text alignment: 1
  4654. -- font id: 0
  4655. -- text size: 12
  4656. -- style flags: 0
  4657. -- line height: 16
  4658. -- part name: Line Graph
  4659. ----- HyperTalk script -----
  4660. on mouseUp
  4661.   global Mode
  4662.   put "Line" into mode
  4663.   send RecordGraphType to field "Scripts"
  4664. end mouseUp
  4665.  
  4666. on mousedown
  4667. end mousedown
  4668.  
  4669.  
  4670. -- part 279 (button)
  4671. -- low flags: 80
  4672. -- high flags: 8004
  4673. -- rect: left=206 top=174 right=196 bottom=306
  4674. -- title width / last selected line: 0
  4675. -- icon id / first selected line: 0 / 0
  4676. -- text alignment: 1
  4677. -- font id: 0
  4678. -- text size: 12
  4679. -- style flags: 0
  4680. -- line height: 16
  4681. -- part name: Bar Graph
  4682. ----- HyperTalk script -----
  4683. on mouseUp
  4684.   global Mode
  4685.   put "Bar" into mode
  4686.   send RecordGraphType to field "Scripts"
  4687. end mouseUp
  4688.  
  4689. on mousedown
  4690. end mousedown
  4691.  
  4692.  
  4693. -- part 280 (button)
  4694. -- low flags: 80
  4695. -- high flags: 8004
  4696. -- rect: left=206 top=207 right=229 bottom=306
  4697. -- title width / last selected line: 0
  4698. -- icon id / first selected line: 0 / 0
  4699. -- text alignment: 1
  4700. -- font id: 0
  4701. -- text size: 12
  4702. -- style flags: 0
  4703. -- line height: 16
  4704. -- part name: Plot Graph
  4705. ----- HyperTalk script -----
  4706. on mouseUp
  4707.   global Mode
  4708.   put "Plot" into mode
  4709.   send RecordGraphType to field "Scripts"
  4710. end mouseUp
  4711.  
  4712. on mousedown
  4713. end mousedown
  4714.  
  4715.  
  4716. -- part 281 (button)
  4717. -- low flags: 80
  4718. -- high flags: 8004
  4719. -- rect: left=206 top=239 right=261 bottom=306
  4720. -- title width / last selected line: 0
  4721. -- icon id / first selected line: 0 / 0
  4722. -- text alignment: 1
  4723. -- font id: 0
  4724. -- text size: 12
  4725. -- style flags: 0
  4726. -- line height: 16
  4727. -- part name: Pie Graph
  4728. ----- HyperTalk script -----
  4729. on mouseUp
  4730.   global Mode
  4731.   put "Pie" into mode
  4732.   send RecordGraphType to field "Scripts"
  4733. end mouseUp
  4734.  
  4735. on mousedown
  4736. end mousedown
  4737.  
  4738.  
  4739. -- part 282 (button)
  4740. -- low flags: 80
  4741. -- high flags: A003
  4742. -- rect: left=386 top=284 right=306 bottom=486
  4743. -- title width / last selected line: 0
  4744. -- icon id / first selected line: 0 / 0
  4745. -- text alignment: 1
  4746. -- font id: 0
  4747. -- text size: 12
  4748. -- style flags: 0
  4749. -- line height: 16
  4750. -- part name: Area╩Okay
  4751. ----- HyperTalk script -----
  4752. on mouseUp
  4753.   FinishColumns
  4754. end mouseUp
  4755.  
  4756. on mouseDown
  4757. end mouseDown
  4758.  
  4759.  
  4760. -- part 283 (field)
  4761. -- low flags: 80
  4762. -- high flags: 0002
  4763. -- rect: left=456 top=0 right=13 bottom=491
  4764. -- title width / last selected line: 0
  4765. -- icon id / first selected line: 0 / 0
  4766. -- text alignment: 1
  4767. -- font id: 3
  4768. -- text size: 9
  4769. -- style flags: 256
  4770. -- line height: 10
  4771. -- part name: CardNumber
  4772. ----- HyperTalk script -----
  4773. on mousedown
  4774. end mousedown
  4775.  
  4776. on mouseup
  4777. end mouseup
  4778.  
  4779.  
  4780.  
  4781. -- part 284 (button)
  4782. -- low flags: 00
  4783. -- high flags: A002
  4784. -- rect: left=498 top=109 right=127 bottom=512
  4785. -- title width / last selected line: 0
  4786. -- icon id / first selected line: 0 / 0
  4787. -- text alignment: 1
  4788. -- font id: 0
  4789. -- text size: 12
  4790. -- style flags: 2048
  4791. -- line height: 16
  4792. -- part name: F
  4793. ----- HyperTalk script -----
  4794. on mouseUp
  4795.   if the optionKey is up then doMenu "Other FontΓǪ"
  4796.   else GiveHelp "Other FontΓǪ"
  4797. end mouseUp
  4798.  
  4799. on mouseDown
  4800. end mouseDown
  4801.  
  4802.  
  4803. -- part 285 (button)
  4804. -- low flags: 00
  4805. -- high flags: A002
  4806. -- rect: left=498 top=130 right=148 bottom=512
  4807. -- title width / last selected line: 0
  4808. -- icon id / first selected line: 0 / 0
  4809. -- text alignment: 1
  4810. -- font id: 0
  4811. -- text size: 12
  4812. -- style flags: 2048
  4813. -- line height: 16
  4814. -- part name: S
  4815. ----- HyperTalk script -----
  4816. on mouseUp
  4817.   if the optionKey is up then doMenu "Change StyleΓǪ"
  4818.   else GiveHelp "Change StyleΓǪ"
  4819. end mouseUp
  4820.  
  4821. on mouseDown
  4822. end mouseDown
  4823.  
  4824.  
  4825. -- part 292 (button)
  4826. -- low flags: 80
  4827. -- high flags: 4000
  4828. -- rect: left=386 top=217 right=249 bottom=486
  4829. -- title width / last selected line: 0
  4830. -- icon id / first selected line: 0 / 0
  4831. -- text alignment: 1
  4832. -- font id: 0
  4833. -- text size: 12
  4834. -- style flags: 0
  4835. -- line height: 16
  4836. -- part name: Inverter
  4837.  
  4838.  
  4839. -- part 293 (button)
  4840. -- low flags: 80
  4841. -- high flags: 2002
  4842. -- rect: left=476 top=320 right=338 bottom=500
  4843. -- title width / last selected line: 0
  4844. -- icon id / first selected line: 17038 / 17038
  4845. -- text alignment: 1
  4846. -- font id: 0
  4847. -- text size: 12
  4848. -- style flags: 0
  4849. -- line height: 16
  4850. -- part name: Protect Recent
  4851. ----- HyperTalk script -----
  4852. on mouseUp
  4853.   if the optionKey is up then domenu "Protect Visible┬á"
  4854.   else GiveHelp "Protect Visible┬á"
  4855. end mouseUp
  4856.  
  4857. on mouseDown
  4858. end mouseDown
  4859.  
  4860.  
  4861. -- part 294 (field)
  4862. -- low flags: 01
  4863. -- high flags: 2002
  4864. -- rect: left=13 top=13 right=309 bottom=490
  4865. -- title width / last selected line: 0
  4866. -- icon id / first selected line: 0 / 0
  4867. -- text alignment: 1
  4868. -- font id: 0
  4869. -- text size: 12
  4870. -- style flags: 0
  4871. -- line height: 16
  4872. -- part name: Credits
  4873. ----- HyperTalk script -----
  4874. on mousedown
  4875. end mousedown
  4876.  
  4877. on MouseUp
  4878.   put empty into msg
  4879.   hide msg
  4880.   hide background button "Smart Help"
  4881.   hide me
  4882.   send RestoreCard to Field "Scripts"
  4883.   show menubar
  4884. end MouseUp
  4885.  
  4886.  
  4887. -- part 296 (button)
  4888. -- low flags: 80
  4889. -- high flags: 0000
  4890. -- rect: left=390 top=277 right=309 bottom=490
  4891. -- title width / last selected line: 0
  4892. -- icon id / first selected line: 0 / 0
  4893. -- text alignment: 1
  4894. -- font id: 0
  4895. -- text size: 12
  4896. -- style flags: 0
  4897. -- line height: 16
  4898. -- part name: Vanilla
  4899.  
  4900.  
  4901. -- part 297 (button)
  4902. -- low flags: 80
  4903. -- high flags: 2002
  4904. -- rect: left=438 top=320 right=338 bottom=455
  4905. -- title width / last selected line: 0
  4906. -- icon id / first selected line: 9729 / 9729
  4907. -- text alignment: 1
  4908. -- font id: 0
  4909. -- text size: 12
  4910. -- style flags: 0
  4911. -- line height: 16
  4912. -- part name: MakeVanilla
  4913. ----- HyperTalk script -----
  4914. on mouseUp
  4915.   if the optionKey is up then CreateButton 296
  4916.   else GiveHelp "Vanilla┬á"
  4917. end mouseUp
  4918.  
  4919. on MouseDown
  4920. end MouseDown
  4921.  
  4922.  
  4923. -- part 305 (button)
  4924. -- low flags: 00
  4925. -- high flags: 8003
  4926. -- rect: left=388 top=65 right=87 bottom=477
  4927. -- title width / last selected line: 0
  4928. -- icon id / first selected line: 0 / 0
  4929. -- text alignment: 1
  4930. -- font id: 0
  4931. -- text size: 12
  4932. -- style flags: 0
  4933. -- line height: 16
  4934. -- part name: Smart Help
  4935. ----- HyperTalk script -----
  4936. on mouseDown
  4937.   GiveHelp "General Introduction┬á"
  4938. end mouseDown
  4939.  
  4940. on mouseUp
  4941. end mouseUp
  4942.  
  4943.  
  4944.  
  4945. -- part 306 (field)
  4946. -- low flags: 80
  4947. -- high flags: 0000
  4948. -- rect: left=68 top=320 right=339 bottom=122
  4949. -- title width / last selected line: 0
  4950. -- icon id / first selected line: 0 / 0
  4951. -- text alignment: 0
  4952. -- font id: 3
  4953. -- text size: 12
  4954. -- style flags: 0
  4955. -- line height: 16
  4956. -- part name: AutoReset true
  4957. ----- HyperTalk script -----
  4958. --To avoid interfering with the way SmartSlides handles mouseclicks,
  4959. --be sure to keep both a mouseUp and a mouseDown handler
  4960. --in the script of this field.
  4961.  
  4962. on mouseDown
  4963. end mouseDown
  4964.  
  4965. on mouseUp
  4966. end mouseUp
  4967.  
  4968.